編譯器錯誤 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 {};