static const メンバーがあり、それを最大整数に設定したいと考えています。私は次のことを試しています:
const static int MY_VALUE = std::numeric_limits<int>::max();
しかし、次のエラーが発生します。
エラー: 静的データ メンバーのクラス内初期化子が定数式ではありません
これに対する解決策はありますか?関数が定数式を返さないのはどうしてですか?
編集: -std=c++11 を追加すると、問題が修正されました。私のルームメイトは、コンパイラ (C++11 より前) は、 std::numeric_limits::max() が他のものを変更しないと判断できるほど賢くないため、定数とは見なされないことを教えてくれました。それがおそらくこのエラーの理由ですか?