2016-11-29 12 views
-2

私は空の文字列ベクトルの配列を作成しようとしているが、私はそれらに値をプッシュできるようにベクトルを初期化するために管理することはできません。空のベクトルの配列を初期化

vector <string> v[500]; 
// vector initializing code 
v[0].push_back("hello"); // should work now 

エラーメッセージ次のとおりです。

'v' does not name a type 

にはどうすればいいので、V [0] .push_backは()に動作初期化する必要がありますか?

+0

現時点では効果がありません。あなたの現在の問題の説明は不明です。 **編集:**あなたのコードはそのまま動作します。デモ:[ここ](https://ideone.com/fLXQ82) –

+0

'v [0] .push_back(" hello ");'は動作しませんか?もしそうなら、どうですか? – NathanOliver

+0

それはうまくいくはずです。 'ベクトル v [500]'は、ベクトルを空に初期化する必要があります。 – axalis

答えて

1

質問のすべてのコメントに指摘されているように、main機能からコードを書き込んだためにエラーが発生します。それぞれのC++プログラムにはそれが必要です。

ところで、ここには無料の良い習慣があります(コメントにもあります)。

  • コンパイル時にサイズを知っている場合は、C配列の代わりにstd::arrayを使用してください(私はそう信じています)。
  • using namespace std;を避けるため、it's badです。
  • 使用する場合は、必ず#include <string>#include <vector>#include <array>を含めてください。
  • C++の初心者の方は、C++ Primer(C++ 11用)をお勧めします。初心者の方はProgramming: Principles and Practice Using C++です。