ヘッダー random で default_random_engine と uniform_real_distribution を使用して、ランダムな倍精度数を生成したいと考えています。
C/C++ と MinGW に Eclipse を使用してプロジェクトをビルドしています。
- エクリプスのバージョン: 4.2.1
- Eclipse CDT C/C++ 開発ツールのバージョン: 8.1.1.201209170703
- Eclipse CDT GCC クロス コンパイラ サポート バージョン: 1.1.0.201209170703
- MinGW バージョン: 4.6.2 (「gcc -v」で確認)
エディターで std::default_random_engine と入力すると、Eclipse から「タイプ 'std::default_random_engine' を解決できませんでした」というメッセージが表示されます。
C++11 機能をサポートするようにプロジェクトを構成済みです
- [プロジェクト プロパティ] -> [C/C++ ビルド] -> [設定] -> [ツール設定] -> [GCC C++ コンパイラ] -> [その他] -> [その他のフラグ] を開きます。最後に「-std=c++0x」を付けます
- プロジェクト プロパティ -> C/C++ 一般 -> プリプロセッサ インクルード パス、マクロ -> [プロバイダ] タブ -> ビルトイン コンパイラ設定プロバイダ (ツールチェーンに依存)。[設定] プロパティ ページに移動する [ワークスペース設定] リンクをクリックし、[検出] タブとプロバイダーを再度選択します。「コンパイラの仕様を取得するコマンド」があるので、そこに「-std=c++0x」を追加します。
次に、C++ 11 のサポートをテストするために、リストで初期化されたベクトルと範囲を作成しました。コードは正常に動作します。
vector<int> ivec = {1, 2, 3};
for (int i : ivec)
cout << i << " ";
cout << endl;
「std::default_random_engine」の何が問題になっていますか?これを修正するにはどうすればよいですか?