Udostępnij przez


Błąd kompilatora C2023

"identyfikator": wyrównanie (wartość-1) różni się od wcześniejszej deklaracji (wartość-2)

Kompilator znalazł specyfikator wyrównania dla typu klasy, który różni się od poprzedniej deklaracji, lub enum specyfikator wyrównania, który różni się od naturalnego wyrównania typu podstawowego.

Aby rozwiązać ten błąd, upewnij się, że wszystkie deklaracje i definicje typu używają tej samej wartości wyrównania.

Poniższy przykład generuje kod C2023:

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

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

Możliwe rozwiązanie:

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

class alignas(2) C {};