ベクトル添え字が範囲外のコンテナの使用、その他類似のエラー
解決方法は以下の通りです。
Vector<string>ベクターの後に、直接渡すことはできません。
vector[0] = "aa"
vector[1] = "bb" などと代入すると、out-of-bounds になってしまいます。(添え字は変更であり、挿入ではありません。添え字を使いたい場合は、初期化時に十分な要素があることを確認する必要があり、通常はpush_back()で行います)
まずtagSeq.resize(n)ステートメントを使って、ベクトルの大きさを初期の長さに調整し、その後、上記の方法で値を代入します。重要なのは リサイズ() 関数でコンテナの初期長を設定します。
もう一つの方法は、つまり、Vector<string> ベクターの後に、ベクターのpush_back("aa")メソッドを呼び出してデータを追加し、ベクターのサイズが範囲外にならないように自動的にメモリ要求する方法です。
また、コンテナの使用は、何度もpush_back()関数を介してコンテナに要素を追加する前に、特定の条件を満たすために判断に基づいているが、決して条件を満たして終了することが、つまり、コンテナに要素のいずれかを追加しなかった、この時点で、もし添え字はv[n - 1]など、またはいくつかの関数を通じて、コンテナにアクセスするようにVB()、VF()、などとしてコンテナ。は添え字オーバーランエラー(メモリオーバーフロー)になります。vは要素を格納していないので、vの長さやv.size()は0に等しく、類似のv[n-1]やv.front()などは意味がないので、エラーになりますが無視しやすいと思います。上記のように添え字アクセスやコンテナの何らかの関数を使わなければならない場合は、if条件 if (!v.empty()) 、つまりvが空でなければ上記のアクセス操作は可能であることを追加すればよい。
関連
-
エラー: 'xxx' は事前宣言と C++ ヘッダーファイルが互いに含まれているため、型名になりません。
-
警告 - 符号付き整数式と符号なし整数式の比較 [-Wsign-compare] 解決方法
-
C++-コラムフィッティングフィットシリンダー
-
VCのグローバル変数が*.objで既に定義されている場合の問題点
-
error: '&' トークンの前にイニシャライザーがあるはずです。
-
const char*' から 'char*' への変換が無効です。
-
"エラー:不完全なクラス型へのポインタは許可されません。"の前方宣言。
-
文字列がこのスコープで宣言されていない 問題の解決
-
c/c++の "undefined reference to "の解決法
-
"name.bat "は、内部または外部のコマンド、操作可能なプログラムまたはバッチファイルとして認識されません。
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
c++ プログラミング プロンプトの関数定義はここでは許可されません。
-
戦闘機ゲームのC++実装(ソースコード)
-
C++ - 文字列クラス超詳細紹介
-
エラー: コンストラクタ、デストラクタ、または '.' トークンの前に型変換が必要です。
-
不完全なクラス型へのポインタが許可されていないのですが、どのようなエラーですか?
-
[C++】C++オーバーロード opeartor=非静的メンバ関数でなければならない?
-
C/C++ におけるランダム関数 rand() および srand() の使用法
-
C++共通ライブラリ関数一覧
-
stoi' の解決策は、Dev-c++ のこのスコープで宣言されていません。
-
C++テンプレートテンプレート使用法まとめ