Заметка
Доступ к этой странице требует авторизации. Вы можете попробовать войти в систему или изменить каталог.
Доступ к этой странице требует авторизации. Вы можете попробовать сменить директорию.
Тип "идентификатор" имеет недопустимый массив нулевого размера
Замечания
Элемент структуры или битового поля содержит массив нулевого размера, который не является последним элементом.
Так как массив нулевого размера может быть последним элементом структуры, необходимо указать его размер при выделении структуры.
Если массив нулевого размера не является последним элементом структуры, компилятор не может вычислить смещение для оставшихся полей.
Example
В следующем примере создается C2229:
// C2229.cpp
struct S {
int a[0]; // C2229 zero-sized array
int b[1];
};
struct S2 {
int a;
int b[0];
};
int main() {
// allocate 7 elements for b field
S2* s2 = (S2*)new int[sizeof(S2) + 7*sizeof(int)];
s2->b[6] = 100;
}