【发布时间】:2013-12-11 00:35:48
【问题描述】:
我正在尝试创建一个字符串数组并使用指针来修改它。我不确定如何声明指针,因为字符串的长度可能不同,我认为这就是导致错误的原因。
我的代码如下所示:
#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];创建一个从0到seatNum - 1索引的字符串数组,因此users[seatNum]访问超出了数组的边界。
标签: c++ arrays string dynamic-allocation