Пространство имен с использованием объявления (ошибка в GCC / VS2010)?

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:

Удалите несколько с использованием директив , так как это не связано с текущим запросом.

12
задан Chubsdad 23 November 2010 в 03:24
поделиться