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


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

"идентификатор": выравнивание (значение-1) отличается от предыдущего объявления (значение-2)

Remarks

Компилятор нашел описатель выравнивания для типа класса, отличающегося от предыдущего объявления, или enum описателя выравнивания, отличного от естественного выравнивания базового типа.

Чтобы устранить эту ошибку, убедитесь, что все объявления и определения типа используют одно и то же значение выравнивания.

Example

В следующем примере генерируется C2023.

// C2023.cpp
class alignas(2) C;

class alignas(4) C {};   // C2023

Possible resolution:

// C2023b.cpp
// compile with: /c
class alignas(2) C;

class alignas(2) C {};