Точно так же ваш код тоже плохо сформирован.

namespace A{
   int i;
}

int main(){
   using A::i;
   using A::i;
}

0 - прекрасно компилируется

gcc (ideone) - прекрасно компилируется

Comeau - выдает ошибку "" ComeauTest.c ", строка 10: ошибка:" i "уже объявлено в текущей области с использованием A :: i;"

$ 7.3.3 / 8 - «Декларация об использовании - это декларация, и поэтому ее можно использовать многократно, где (и только там) допускается несколько деклараций».

Пример прямо здесь указывает на то, что код действительно неверно сформирован.

Итак, это ошибка в GCC и VS2010?

РЕДАКТИРОВАТЬ 2:

Удалить несколькоusing directives как это было не связано с запросом под рукой.

Ответы на вопрос(2)

Ваш ответ на вопрос