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/

10-11 06:50