0
namespace fooo {
class Fooo {
public:
int a;
};
}
namespace fooo {
class Test {
public:
Test(Fooo::Fooo *i) {
i->a = 1;
}
};
}
このコードはclang(任意のバージョン)でうまくコンパイルできますが、gccで失敗します。 誰でも理由を説明できますか?C++の奇妙な名前空間の検索動作
編集: はい、私はここで問題が分かりますが、なぜそれを受け入れるのですか?私にこれを言った人は、これが標準のバグであり、欠陥報告があると言った。誰でも実際のDRを指すことができますか?
gccには通知しませんでしたか?コンパイルに失敗すると、通常は診断メッセージが表示されます。 – user2079303
エラー: 'fooo :: Fooo :: Fooo'は型ではなくコンストラクタの名前を指定します –
最初のFoooが誤字であっても、エラー:メンバー 'fooo :: Fooo :: a'の読み込み専用オブジェクトへの割り当て –