私がintのベクトルをC++で初期化しようとすると、私はいつも "expected ';'宣言の終わりに "エラー。私はC++入門が必要です ';'宣言/ベクトル/ C++の末尾で
vector<int> v{1,2,3,4,5,6,7,8,9};
と
$ g++ -o test test.cpp
から元のコードを使用
私は、これは聞いて愚かな質問だと思うが、私はそこにあることを確信している「は、」.. 。答えを検索することはできません。 ありがとうございました。
私がintのベクトルをC++で初期化しようとすると、私はいつも "expected ';'宣言の終わりに "エラー。私はC++入門が必要です ';'宣言/ベクトル/ C++の末尾で
vector<int> v{1,2,3,4,5,6,7,8,9};
と
$ g++ -o test test.cpp
から元のコードを使用
私は、これは聞いて愚かな質問だと思うが、私はそこにあることを確信している「は、」.. 。答えを検索することはできません。 ありがとうございました。
g++
の線に沿って何かは、デフォルトではC++ 03を想定して、そしてあなたが使用しようとしている構文が来ましたC++では11。私は個人的に好むよう、
$ g++ -std=c++11 -o test test.cpp
または::へのコンパイル行を変更
$ g++ -Wall -Werror -pedantic -std=c++1y -o test test.cpp
:)
注:あなたはc++0x
、c++11
、またはc++1y
を使用したいかどうかを(おそらくc++14
)は、コンパイラのバージョンに大きく依存しています。
デフォルトでコンパイラはブレースの初期化をサポートしていません。これはC++ 11で追加されました。
あなたのコンパイラで使用できるコマンドライン引数は、おそらくあります、
-std=c++11
ブレースの初期化がC++ 11で追加されました。おそらくC++ 11モードで動作するようにコンパイラに指示する必要があります。 –