Condividi tramite


Avviso del compilatore (livello 4) C4366

Il risultato dell'operatore 'operator' unario può essere non allineato

Se un membro della struttura potrebbe mai essere non allineato a causa della compressione, il compilatore visualizzerà un avviso quando l'indirizzo del membro viene assegnato a un puntatore allineato. Per impostazione predefinita, tutti i puntatori sono allineati.

Per risolvere il problema C4366, modificare l'allineamento della struttura o dichiarare il puntatore con la parola chiave __unaligned .

Per altre informazioni, vedere __unaligned e pack.

Esempio

L'esempio seguente genera l'errore 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
}