gpt4 book ai didi

c++ - msvcr110d.dll 中未处理的异常

转载 作者:行者123 更新时间:2023-11-28 07:29:51 29 4
gpt4 key购买 nike

一切似乎都很好,但是当我输入 I 时,它说

Unhandled exception at 0x64A1EB90 (msvcr110d.dll) in ConsoleGame1.exe: 0xC0000005: Access violation writing location 0xCCCCCCCC.

First-chance exception at 0x64A1EB90 (msvcr110d.dll) in ConsoleGame1.exe: 0xC0000005: Access violation writing location 0xCCCCCCCC.
Unhandled exception at 0x64A1EB90 (msvcr110d.dll) in ConsoleGame1.exe: 0xC0000005: Access violation writing location 0xCCCCCCCC.
The program '[5088] ConsoleGame1.exe' has exited with code 0 (0x0).

代码:

void Inventory();

struct Item
{
string itemName;
string itemDescription;
int itemNumber;
bool haveItem;

void DisplayItem();
};

int main()
{
char inv;
hint:
cout << "HINT: To open your inventory press 'I'.\n";
cin >> inv;
if (inv=='I') Inventory();
else goto hint;
system("pause");
return 0;
}

void Inventory()
{
Item Letter =
{
Letter.itemName = "Letter",
Letter.itemDescription = "...",
Letter.itemNumber = 1,
Letter.haveItem = true
};
Item Wood =
{
Wood.itemName = "Wood",
Wood.itemDescription = "Birch wood.",
Wood.itemNumber = 2,
Wood.haveItem = false
};
Letter.DisplayItem();
Wood.DisplayItem();
}

最佳答案

为了解决手头的问题,您要分配给尚未构造的对象:

Item Letter =
{
Letter.itemName = "Letter",
Letter.itemDescription = "...",
Letter.itemNumber = 1,
Letter.haveItem = true
};

在为 initialisng Letter 指定参数时,您正在分配给 Letter 的成员。那不行。你所追求的是:

Item Letter =
{
"Letter",
"...",
1,
true
};

但是,代码通常显示您最好从基础开始,使用 good book指导你,正如我在评论中所说。例如,您肯定不想使用goto 而不是循环。 Item 类可以使用构造函数。

关于c++ - msvcr110d.dll 中未处理的异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17949701/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com