Compiler Warning (level 3) C4359


The new home for Visual Studio documentation is Visual Studio 2017 Documentation on

The latest version of this topic can be found at Compiler Warning (level 3) C4359.

type': actual alignment (8) is greater than the value specified in __declspec(align())

The alignment specified for a type is less than the alignment of the type of one of its data members. For more information, see align.

The following sample generates 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