namespace A{
int i;
}
int main(){
using A::i;
using A::i;
}
VS2010 - 正常にコンパイル
gcc (ideone) - 正常にコンパイルされます
Comeau - エラー ""ComeauTest.c"、10 行目: エラー: "i" は、A::i を使用して現在のスコープで既に宣言されています。"
$7.3.3/8 - 「using-declaration は宣言であるため、複数の宣言が許可されている場所 (および場所のみ) で繰り返し使用できます。」
右の例は、コードが実際に不正であることを示しています。
では、これは GCC と VS2010 のバグですか?
編集2:
using directives
手元のクエリとは無関係だったので、複数を削除します。