gpt4 book ai didi

c++ - C++ 未处理的异常

转载 作者:行者123 更新时间:2023-11-27 23:04:06 24 4
gpt4 key购买 nike

我收到这个错误

Unhandled exception at 0x00091e11 in JobTest.exe: 0xC0000005: Access violation writing location 0x0009573c.

在这个函数的第一行

void myFunction(char str[]) {

str[0] = 'C';// here is a problem
printf(str);
}

myFunction("Hello World");

在 visual studio 2010 中。它是编译器特定的还是我做得很糟糕。我还尝试通过更改函数签名 char *str。

最佳答案

字符串文字是不可修改的。您正在尝试修改函数 myFunction 中的字符串文字。
字符串文字可能是共享的,并且可以存储在只读内存中(正如@Duplicator 在他的评论中所说)。任何修改字符串文字的尝试都会调用未定义的行为

正如@MooseBoys 所建议的,您可以通过将其更改为来修复它:

char msg[] = "Hello World"; 
myFunction(msg);

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

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