我想在遊戲中製作一個商店和一個庫存,但是我的代碼不斷崩潰。我的程序崩潰在addToInventory-> addInventoryItems(name);我不知道爲什麼。我不明白爲什麼我的矢量不能推回
// inventory.h
struct InventoryItems
{
string type;
};
vector<InventoryItems*> inventoryItems;
// inventory.cpp
void Inventory::addInventoryItems(string itemName)
{
addItem->type = itemName;
inventoryItems.push_back(addItem);
}
// shop.h
Inventory* addToInventory;
// shop.cpp
void Shop::purchase()
{
string name = touchableSprites[i]->getSprite()->getName();
addToInventory->addInventoryItems(name); //crashes here
}
非常感謝!
你在哪裏分配'addToInventory'? – NathanOliver
分配了「addToInventory」在哪裏?我看到的只是一個聲明的指針,它在哪裏分配爲'new'ed?因爲它有一個單位化的指針,並且訪問這個結果會導致未定義的行爲或訪問衝突 – EdChum
請提供一個[mcve]代碼中有許多未知數,最顯着的是'addItem' – user463035818