[英]Unhandled exception at C++
我收到此錯誤
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);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.