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 - “使用声明是一个声明,因此可以在允许(且仅在)允许多个声明的地方重复使用。”
那里的示例表明代码确实格式错误。
那么,这是 GCC 和 VS2010 中的错误吗?
编辑2:
删除倍数using directives
,因为它与手头的查询无关。