2007-07-02 クラス名を重ねる C++ コピペミスでクラス名を重ねてしまった。 以下、単純化したサンプル struct foo { static const int bar = 2; }; int main() { cout << foo::foo::bar << endl; return 0; } VCでは、エラーが出たが、GCCでは、警告も出ずに通ってしまった。 どうやら、validらしい。『補整クラス名』*1というのね。知らんかった。 *1:規格票では、『補正クラス名』という語も使われている。どっちが正しい名称なんだろ?