C++ コンパイラを C++11 にアップデートしようとしています。少し調べた結果、-std=c++0x
またはフラグを使用する必要があるという結論に達しました-std=gnu++0x
が、フラグについてよくわかりません。どなたか助けていただけませんか? (Ubuntu 12.04 を使用しています。)
C++11 に含まれているライブラリ (つまり配列) を使用しようとすると、コンパイラから次のエラーが発生します。
#include <array>
#include <iostream>
int main()
{
std::array<int, 3> arr = {2, 3, 5};
...
}
このファイルには、今後の ISO C++ 標準である C++0x のコンパイラとライブラリのサポートが必要です。このサポートは現在実験段階であり、-std=c++0x または -std=gnu++0x コンパイラ オプションで有効にする必要があります。
ベストアンサー1
フラグ (またはコンパイラ オプション) は、コンパイラ実行ファイルに渡される通常のコマンド ライン引数に他なりません。
コマンドライン (ターミナル) から g++ を呼び出すと仮定します。
$ g++ -std=c++11 your_file.cpp -o your_program
または
$ g++ -std=c++0x your_file.cpp -o your_program
上記の方法が機能しない場合は、