Partilhar via


Aviso do compilador (nível 4) C4366

O resultado do operador 'operator' unário pode estar desalinhado

Se um membro da estrutura puder ser desalinhado devido ao empacotamento, o compilador avisará quando o endereço desse membro for atribuído a um ponteiro alinhado. Por padrão, todos os ponteiros são alinhados.

Para resolver o C4366, altere o alinhamento da estrutura ou declare o ponteiro com a palavra-chave __unaligned.

Para obter mais informações, consulte __unaligned e pacote.

Exemplo

A amostra a seguir gera C4366.

// C4366.cpp
// compile with: /W4 /c
// processor: IPF x64
#pragma pack(1)
struct X {
   short s1;
   int s2;
};

int main() {
   X x;
   short * ps1 = &x.s1;   // OK
   int * ps2 = &x.s2;   // C4366
}