JetBrains CLion で C++11 のみの構文を使用してコードをコンパイルしようとしているため、C++98 モードを無効にしたいと考えています。この StackOverflow questionの指示に従いましたが、機能させることができません。
この目標を達成するために、ALT + SHIFT + F10 に移動し、引数-std=c++11
をProgram Argumentsに渡しました。
再度ビルドすると、C++98 モードがまだ有効になっているように見えます。
/cygdrive/c/Users/Zarthus/Documents/test/command.cpp: In constructor 'Command::Command(std::vector<std::basic_string<char> >)':
/cygdrive/c/Users/Zarthus/Documents/test/command.cpp:25:32: error: range-based 'for' loops are not allowed in C++98 mode
for (std::string command : commands)
^
コードで
Command::Command(std::vector<std::string> cmds)
{
for (std::string command : cmds)
{
addCommand(command);
}
}
問題が私のコード内にないことはかなり確信していますが( IdeoneC++11対IdeoneC++98 (4.8.1) )
画像: CLion インターフェース
私が想像するのは、コンパイル文字列です(コメントごと):
C:\cygwin64\bin\cmake.exe --build C:\Users\Zarthus\.clion10\system\cmake\generated\6dd8bed\6dd8bed\Debug --target testProject -- -j 4
そのため、私のコンテンツが含まれているようには見えません。
私は他の JetBrains IDE の経験はあまりありませんが、ほとんど同じであると言えます。
誰でもこれを再現できますか?これが 100% 機能していない可能性がある (まだ初期リリース ビルドである) というフィードバックを JetBrains に送信する必要がありますか? それとも、私はそれを台無しにしていて、ここにユーザーエラーがありますか?
ありがとう!