Errore del compilatore C2513

'type': nessuna variabile dichiarata prima di '='

L'identificatore di tipo viene visualizzato nella dichiarazione senza identificatore di variabile.

L'esempio seguente genera l'errore C2513:

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

Questo errore può essere generato anche in seguito a un lavoro di conformità del compilatore eseguito per Visual Studio .NET 2003: inizializzazione di un typedef non più consentito. L'inizializzazione di un typedef non è consentita dallo standard e ora genera un errore del compilatore.

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

Un'alternativa consiste nell'eliminare typedef per definire una variabile con elenco di inizializzatori di aggregazione, ma non è consigliabile perché creerà una variabile con lo stesso nome del tipo e nasconderà il nome del tipo.