将数字添加到字符串向量中时程序崩溃

时间:2015-03-08 22:09:03

标签: c++

我有一个代码块来计算某个整数并尝试将其添加到vector<string>中,并在运行时崩溃。

当我尝试运行它时,此示例崩溃:

vector<string> numList;
stringstream numstr;
for(int i = 0; i < 100; i++) {
    numstr << 1 + 200;
    numList[i] = numstr.str();
}

1 个答案:

答案 0 :(得分:2)

向量为空位,您将其视为具有100个元素,调用未定义的行为。大概你想要创建一个大小为100的向量:

vector<string> numList(100);

或者,您可以将元素推入其中:

vector<string> numList;
stringstream numstr;
for(int i = 0; i < 100; i++) {
  numstr << 1 + 200;
  numList.push_back(numstr.str());
}