void changeArray(char* str1) {
str1[0] = 'f';
}
int main() {
char* msg1 = "andrew";
changeArray(msg1);
cout << msg1 << endl;
return 0;
}
大家好,我不明白为什么我会遇到细分错误。函数内部的索引不能访问指针? (C++) 最佳答案
您正在尝试修改string literal,这会导致未定义的行为。
而且,自C++ 11起不允许使用char* msg1 = "andrew";
,
您可以改为构造并传递char
数组。
例如。
int main() {
char msg1[] = "andrew";
changeArray(msg1);
cout << msg1 << endl;
return 0;
}
关于c++ - C++通过函数内部的索引更改数组,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/62572364/