コンパイラの警告 (レベル 1 およびレベル 3) C4359

'type': 実際のアラインメント (8) は、__declspec(align()) で指定された値を超えています

型に対して、そのデータ メンバーの 1 つの型のアラインメントよりも小さいアラインメントが指定されています。 詳細については、align に関するページを参照してください。

次の例では 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