Sdílet prostřednictvím


Chyba kompilátoru C2513

'type' : žádná proměnná deklarována před '='

Specifikátor typu se zobrazí v deklaraci bez identifikátoru proměnné.

Následující ukázka vygeneruje C2513:

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

Tato chyba se dá vygenerovat také v důsledku práce kompilátoru, která vyhovuje sadě Visual Studio .NET 2003: inicializace typedef už není povolená. Inicializace typedef není povolena standardem a nyní generuje chybu kompilátoru.

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

Alternativou je odstranit typedef definování proměnné se seznamem agregačních inicializátorů, ale nedoporučuje se, protože vytvoří proměnnou se stejným názvem jako typ a skryje název typu.