皆さん、
問題文 - C++ では、(静的) const をクラス スコープに限定することが許可されているため、名前空間全体を汚染する #defines を取り除くことができますか?
私の意見は NO です (次の異なる例では) 。なぜ、何が最良の代替案なのかを知りたいと思います。VS がエラー C2589 を生成する: 'const' : '::' の右側に不正なトークン
例1
//ああ
クラスA {
…
..
static const uint_32 myConst = 1234;
};
//b.cpp
「ああ」を含める</h1>
… B() { uint32_t arr[A::myConst]; // C2589! const : '::' の右側の不正なトークン }
例 2
//ああ
クラス A { … .. enum blah { ... myConst = 1234, .. }; };
//b.cpp
「ああ」を含める</h1>
... B() { uint32_t arr[A::myConst]; // C2589! const : '::' の右側の不正なトークン }