Partager via


Erreur du compilateur C2079

'identifier' utilise une classe/struct/union undefined 'name'

L’identificateur spécifié est une classe, une structure ou une union non définie.

Cette erreur peut être due à l’initialisation d’une union anonyme.

L’exemple suivant génère l’erreur C2079 :

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

Résolution possible :

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

C2079 peut également se produire si vous tentez de déclarer un objet sur la pile d’un type dont la déclaration avant n’est que dans l’étendue.

// C2079c.cpp
class A;

class B {
   A a;   // C2079
};

class A {};

Résolution possible :

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

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

class A {};