Avertissement du compilateur (niveau 1 et niveau 3) C4359

'type' : l’alignement réel (8) est supérieur à la valeur spécifiée dans __declspec(align())

L’alignement spécifié pour un type est inférieur à l’alignement du type d’un de ses membres de données. Pour plus d’informations, consultez Aligner.

Exemple

L’exemple suivant génère l’erreur C4359.

// C4359.cpp
// compile with: /W3 /c
struct __declspec(align(8)) C8 { __int64 i; };
struct __declspec(align(4)) C4  { C8 m8; };   // C4359
struct __declspec(align(8)) C8_b  { C8 m8; };   // OK
struct __declspec(align(16)) C16  { C8 m8; };   // OK