5

このような単純な問題が私を悩ませていることは少し恥ずかしいですが、数時間の無駄なグーグルの後でも、私はまだ立ち往生しています。

私の問題を単純化するために、この 2 行目でクラッシュします。

  vector<vector<string> > sorted_words;
  sorted_words[0].push_back("hello");

sorted_words[0]合法的に push_back できる空のベクトルを表すべきではありませんか?

4

3 に答える 3

1

オブジェクト sorted_words はベクトルのベクトルです。

vector<vector<string>> sorted_words;
if (sorted_words.empty()) {
  sorted_words.resize(1);
}
sorted_words[0].emplace_back("Hello");

一般に、演算子を介したベクトルへのアクセスには、ベクトルのサイズが i より大きいという暗黙の前提条件があります。

于 2013-04-28T01:59:56.507 に答える