Ist Folgendes in der Norm erlaubt?Kann eine Variable als automatisch deklariert werden, die zu demselben Typ abgeleitet wurde?
#include <iostream>
extern int a;
auto a = 3;
int main(int, char**)
{
std::cout << a << std::endl;
return 0;
}
clang akzeptiert den Code. g++ beschwert sich für widersprüchliche Deklaration.
Sicher ist dies ein g ++ Bug –
Dieser Code verursacht einen Fehler auch in MS Visual Studio 2012, mit der Fehlermeldung 'Fehler C2371: 'a': Neudefinition; verschiedene Grundtypen ". – nabroyan
Was ist mit: 'extern int a; declltype (a) a; ';) – Ajay