【发布时间】:2017-07-14 14:32:39
【问题描述】:
我想在我的游戏中创建商店和库存,但我的代码不断崩溃。我的程序在 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? -
addToInventory分配在哪里?我所看到的只是一个声明的指针,它在newed 中分配在哪里?就目前而言,您有一个未初始化的指针,访问它会导致未定义的行为或访问冲突 -
请提供minimal reproducible example 您的代码中有很多未知数,最突出的是
addItem
标签: c++ visual-c++ vector inventory