Compilerfehler C2513

'type' : keine Variable vor '=' deklariert

Der Typbezeichner wird in der Deklaration ohne Variablenbezeichner angezeigt.

Im folgenden Beispiel wird C2513 generiert:

// C2513.cpp
int main() {
   int = 9;   // C2513
   int i = 9;   // OK
}

Dieser Fehler kann auch als Ergebnis einer Compilerkonformität generiert werden, die für Visual Studio .NET 2003 ausgeführt wurde: Initialisierung einer Typedef ist nicht mehr zulässig. Die Initialisierung einer Typedef ist vom Standard nicht zulässig und generiert jetzt einen Compilerfehler.

// C2513b.cpp
// compile with: /c
typedef struct S {
   int m_i;
} S = { 1 };   // C2513
// try the following line instead
// } S;

Eine Alternative besteht darin, typedef eine Variable mit der Aggregatinitialisierungsliste zu definieren, dies wird jedoch nicht empfohlen, da eine Variable mit demselben Namen wie der Typ erstellt und der Typname ausgeblendet wird.