gpt4 book ai didi

C++ - 使用 atoi() 时出现未处理的异常

转载 作者:太空宇宙 更新时间:2023-11-04 15:52:39 26 4
gpt4 key购买 nike

当使用这段代码时,它会抛出一个未处理的写入异常,我几乎可以肯定这与 atoi() 函数有关。

while(true){
char* item = "";
cin >> item;
int numItem = atoi(item);
if(numItem){
if(numItem<=backpackSpaces){
equipItem(backpack[numItem]);
break;
}else{
cout << "No such item." << endl;
}
}else if(item == "back"){
cout << "Choose an option from the original choices. If you can't remember what they were, scroll up." << endl;
break;
}else{
cout << "Command not recognised." << endl;
}
}

最佳答案

使用:

char item[20];

char * item = "" 使 item 指向只读内存 - 您正在尝试修改它。指向字符串文字的指针最好写成 const char * item = "" - 然后编译器将确保您不修改它。 char * item = "" 合法的原因是向后兼容 C。

关于C++ - 使用 atoi() 时出现未处理的异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5443227/

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