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 {};