Condividi tramite


Errore del compilatore C2079

'identifier' usa una classe/struct/unione non definita 'name'

L'identificatore specificato è una classe, una struttura o un'unione non definita.

Questo errore può essere causato dall'inizializzazione di un'unione anonima.

L'esempio seguente genera l'errore C2079:

// C2079.cpp
// compile with: /EHsc
#include <iostream>
int main() {
   std::ifstream g;   // C2079
}

Possibile soluzione:

// C2079b.cpp
// compile with: /EHsc
#include <fstream>
int main( ) {
   std::ifstream g;
}

C2079 può verificarsi anche se si tenta di dichiarare un oggetto nello stack di un tipo la cui dichiarazione forward è solo nell'ambito.

// C2079c.cpp
class A;

class B {
   A a;   // C2079
};

class A {};

Possibile soluzione:

// C2079d.cpp
// compile with: /c
class A;
class C {};

class B {
   A * a;
   C c;
};

class A {};