cpp内の文字列のリストのベクトル "EXC_BAD_ACCESS"

#include 
#include 
#include 
using namespace std;
int main()
{
    vector > testList;
    testList[2].push_back("ADA");
    return 0;
}

プログラムが実行されているときにスレッドがあります。 信号: "EXC_BAD_ACCESS"

私はそれが違法メモリアクセスのためだと思う、 なぜ、どのように修正するのか分かりません。

本当にありがとう

2

2 答え

testList has length 0 after initialization, therefore you cannot access testList[2].

最初のサイズをstd :: vectorのc'torに渡すことができるので、次のように動作するはずです

vector > testList(3);
testList[2].push_back("ADA");
8
追加された

あなたの testList はサイズが0なので、サイズを変更する必要があるために要素2にアクセスすることはできません:

testList.resize(3);
3
追加された