调试以下代码时,为什么会出现错误“字符串下标超出范围”

时间:2020-09-11 21:08:30

标签: c++

这是代码。 调试以下代码时,出现错误“字符串下标超出范围”。所以请找到 错误在哪里以及解决方法。

#include <iostream>
using namespace std;

int main()
{
    string s;
    int i = 0;
    for (int i = 0; i < 50; i++)
        s[i] = 'A';
    cout << s;
    return 0;
}

1 个答案:

答案 0 :(得分:3)

问题是s[i] = 'A';正在更改在位置i处的字符,但是字符串为空并且该位置没有字符。您想要做的是将新字符追加到这样的字符串s += 'A';s.push_back('A');