我有這樣的事情。爲什麼lastItem
未定義?返回指針undefined即使它應該是
Menu* CreateItem()
{
Menu* menuPointer = new Menu;
//initialize values
return menuPointer;
}
void AnotherFunction()
{
Menu* lastItem = CreateItem();
}
非常感謝!
編輯:
我想通了,但我真的不明白爲什麼這是行不通的。更完整的背景下看起來像這樣
Menu* Content::CreateItem()
{
Menu* menuPointer = new Menu;
//initialize values
return menuPointer;
}
void Content::CreateObject(Menu* curItem, Menu* lastItem)
{
lastItem = CreateItem();
curItem = lastItem;
}
void Content::Initialize()
{
Menu* curItem = 0;
Menu* lastItem = 0;
while (...)
{
if (/*object is complete*/)
{
CreateObject(curItem, lastItem);
}
//create object little by little
}
}
我改變
Menu* curItem = 0;
Menu* lastItem = 0;
到
Menu* curItem = new Menu;
Menu* lastItem = new Menu;
爲什麼這個必要嗎?
這是什麼語言? –
語言是C++ – InSaNo