namespace A{
int i;
}
int main(){
using A::i;
using A::i;
}
VS2010 - компилируется нормально
gcc (ideone ) - компилируется нормально
Comeau - выдает ошибку "" ComeauTest.c ", строка 10: ошибка:" i "уже было объявлено в текущей области видимости using A :: i; "
$ 7.3.3 / 8 -" Объявление использования - это декларация и поэтому может использоваться неоднократно где (и только где) разрешено несколько объявлений. "
Пример показывает, что код действительно неправильно сформирован.
Итак, это ошибка в GCC и VS2010?
РЕДАКТИРОВАТЬ 2:
Удалите несколько с использованием директив
, так как это не связано с текущим запросом.