まず、Eclipse 以外では、コードはエラーなしで正常にコンパイルされると言わなければなりません。プロジェクトをEclipse Juno、CDT 8.1、gccバージョン4.6.3に移動すると、この問題が発生しました
//This example code works:
1. class TestThis {
2. public:
3. enum NUMBER { one, two };
4. TestThis();
5. int populate(enum NUMBER n);
6. };
//This generates an error "invalid redefinition of 'NUMBER'" at line 3 before compile:
1. class TestThis {
2. public:
3. enum NUMBER { one, two };
4. TestThis(enum NUMBER n);
5. int populate();
6. };
質問: CDT を "修正" して列挙型をコンストラクターに渡す方法はありますか? そうでない場合、この問題に対する他の回避策はありますか?