Udostępnij za pośrednictwem


Ostrzeżenie kompilatora (poziom 1 i poziom 3) C4359

"type": rzeczywiste wyrównanie (8) jest większe niż wartość określona w __declspec(align())

Wyrównanie określone dla typu jest mniejsze niż wyrównanie typu jednego z jego elementów członkowskich danych. Aby uzyskać więcej informacji, zobacz wyrównanie.

Przykład

Poniższy przykład generuje kod 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