Error del compilador C2079
"identifier" usa una clase/estructura/unión "name" sin definir
El identificador especificado es una clase, estructura o unión.
Este error puede deberse a la inicialización de una unión anónima.
El ejemplo siguiente genera C2079:
// C2079.cpp
// compile with: /EHsc
#include <iostream>
int main() {
std::ifstream g; // C2079
}
Posible solución:
// C2079b.cpp
// compile with: /EHsc
#include <fstream>
int main( ) {
std::ifstream g;
}
También se puede producir C2079 si intenta declarar un objeto en la pila de un tipo cuya declaración de reenvío solo está en el ámbito.
// C2079c.cpp
class A;
class B {
A a; // C2079
};
class A {};
Posible solución:
// C2079d.cpp
// compile with: /c
class A;
class C {};
class B {
A * a;
C c;
};
class A {};