gpt4 book ai didi

c++ - 动态分配的字符串数组,然后更改它的值?

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

我正在尝试创建一个字符串数组并使用一个指针来修改它。我不确定如何声明指针,因为字符串的长度可能不同,我认为这是导致错误的原因。

我的代码看起来像这样:

#includes <string>
#includes <iostream>
using namespace std;

string *users = NULL;
int seatNum = NULL;
cin >> seatNum;
users = new string[seatNum];
string name;
cin >> name;
users[seatNum] = name;

当我试图改变它的值时,它抛出一个写访问冲突。据我所知,这是因为字符串被编译为只读,所以我的问题是我将如何/我将如何更改它?最好能有通俗易懂的解释。

最佳答案

您正在访问超出分配数组范围的内存

users = new string[seatNum];
users[seatNum] = name;

第一个元素是[0]。最后一个是[seatNum-1]

关于c++ - 动态分配的字符串数组,然后更改它的值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20207400/

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