Поделиться через


Ошибка компилятора C2036

"идентификатор" : неизвестный размер

Для операции 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)
}