gcc のバージョンを上げたら expected primary-expression before ‘.’ token になった件
test.C: メンバ関数 ‘void test:checkI()’ 内: test.C:157:32: エラー: expected primary-expression before ‘.’ token if(testEnum.eNo1 == 1){ |
なぜか enum 定義がフルスコープだとエラーを返すようになった
enum testEnum{ eNo1 = 1, eNo2 = 2, eNo4 = 4, eNo5 = 5, eNo6 = 6, }; |
c++ - Correct way to set static enum vars in cpp file - Stack Overflow
フルスコープにする必要がないって話なんだけど
どうやら内部的に、enum class testEnum になってるらしい。
というわけで
testEnum.eNo1 を testEnum::eNo1 にするとちゃんと動いた ・ω・
(これでいいんだろうか)
Comments