Erreur du compilateur C2023

'identificateur' : Alignement (valeur-1) différent de la déclaration précédente (valeur-2)

Le compilateur a trouvé un spécificateur d’alignement pour un type de classe différent d’une déclaration précédente, ou un spécificateur d’alignement enum différent de l’alignement naturel du type de base.

Pour résoudre cette erreur, vérifiez que toutes les déclarations et définitions du type utilisent la même valeur d’alignement.

L’exemple suivant génère l’erreur C2023 :

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

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

Résolution possible :

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

class alignas(2) C {};