编译器错误 C2036
“identifier”:未知大小
对 identifier
的操作需要数据对象的大小,该大小无法确定。
示例
以下示例生成 C2036。
// C2036.c
// a C program
struct A* pA;
struct B { int i; } *pB;
int main() {
pA++; // C2036, size of A not known
((char*)pA)++; // OK
pB++; // OK
}
以下示例生成 C2036。
// C2036_2.cpp
// a C++ program
struct A* pA;
int main() {
pA++; // C2036, size of A not known
((char*&)pA)++; // OK, if sizeof(A) == sizeof(char)
}