컴파일러 오류 C2079
'identifier'는 정의되지 않은 클래스/구조체/공용 구조체 'name'을 사용합니다.
지정된 식별자는 정의되지 않은 클래스, 구조체 또는 공용 구조체입니다.
이 오류는 익명 공용 구조체를 초기화하여 발생할 수 있습니다.
다음 샘플에서는 C2079를 생성합니다.
// C2079.cpp
// compile with: /EHsc
#include <iostream>
int main() {
std::ifstream g; // C2079
}
해결 방법:
// C2079b.cpp
// compile with: /EHsc
#include <fstream>
int main( ) {
std::ifstream g;
}
C2079는 정방향 선언이 범위에만 있는 형식의 스택에서 개체를 선언하려는 경우에도 발생할 수 있습니다.
// C2079c.cpp
class A;
class B {
A a; // C2079
};
class A {};
해결 방법:
// C2079d.cpp
// compile with: /c
class A;
class C {};
class B {
A * a;
C c;
};
class A {};