Aviso do compilador (nível 4) C4324

'type': estrutura foi preenchida devido ao especificador de alinhamento

Observações

O preenchimento foi adicionado no final de uma classe/struct/union porque você especificou um especificador de alinhamento, como alignas ou __declspec(align).

Example

Por exemplo, S1, U1 e C1 geram C4324 porque o preenchimento é adicionado quando o alinhamento especificado é maior que o alinhamento natural para cada um. S2 não gera um aviso porque o alinhamento especificado corresponde ao alinhamento natural:

// C4324.cpp
// compile with: /W4 /c

// natural 4 byte alignment
struct alignas(8) S1 // C4324
{
    int i;
};   // C4324

// natural 4 byte alignment
struct alignas(4) S2
{
    int i;
};   // OK

// natural 4 byte alignment
union alignas(16) U1
{
    int i;
    char c;
};  // C4324

// natural 4 byte alignment
class alignas(8) C1
{
public:
    int i = 0;
}; // C4324