关于VECTOR 的问题
GameMenu::~GameMenu()
{
picture.clear();
}
void GameMenu::Inint()
{
m_pzhuce=new CD3DSprite(m_pd3dDevice);
m_pzhuce->Inint(".\\Resource\\功能键\\注册帐号.bmp");
m_pzhuce->SetSprite(0,0,128,31);
m_pzhuce->SetDrawPos(45,490,0);
....................................................................
m_ptuichu=new CD3DSprite(m_pd3dDevice);
m_ptuichu->Inint(".\\Resource\\功能键\\退出.bmp");
m_ptuichu->SetSprite(0,0,128,31);
m_ptuichu->SetDrawPos(850,490,0);
picture.push_back(m_pzhuce);
picture.push_back(m_pkaishi);
picture.push_back(m_pzhizuo);
picture.push_back(m_ppiantou);
picture.push_back(m_ptuichu);
}
void GameMenu::Render()
{
myinput1->Update();
m_pBackGroud->Render();
for(int i=0; i<5; i++)
{
picture[i]->Render();
}
}
问下高手们 我在这里建立出的vector 在我类里的析够函数里的调用是正确的吗???需要用FOR循环吗??
[解决办法]
// 要deleteGameMenu::~GameMenu() { for(int i=0; i <5; i++) { delete picture[i]; }}
[解决办法]
需要
GameMenu::~GameMenu() { for(vector<CD3DSprite *>::iterator vc_Iter = picture.begin(); vc_Iter != picture.end(); ++picture){delete *vc_Iter;}}
[解决办法]
GameMenu::~GameMenu()
{
for(int i=0; i <5; i++)
{
delete picture[i];
}
delete picture;
}