namespace A{
int i;
}
int main(){
using A::i;
using A::i;
}
VS2010 - compila bienEspacio de nombres usando declaración (error en GCC/VS2010)?
gcc (Ideone) - compila bien
Comeau - da error "" ComeauTest.c", línea 10: error: "i" ya ha sido declarada en la corriente alcance usando A :: i; "
$7.3.3/8 - "A using-declaration is a declaration and can therefore be used repeatedly where (and only where) multiple declarations are allowed."
El ejemplo de la derecha indica que el código está mal formado.
Entonces, ¿esto es un error en GCC y VS2010?
EDIT 2:
Retire el múltiple using directives
ya que no estaba relacionado con la consulta a la mano.
Según tengo entendido, debería ser un error en Comeau, no en MSVC/GCC, por la misma razón esto está bien: 'int main() {extern int i; extern int i;} '. Obviamente me falta algo simple. – GManNickG
Parece que sí. –
@GMan: echa un vistazo a '7.3.3/8' una vez. –