Share via


Upozornění kompilátoru (úroveň 4) C4366

Výsledek unárního operátoru "operátor" může být nerovnaný.

Pokud by člen struktury mohl být kvůli zabalení nerovnaný, kompilátor upozorní, když je adresa člena přiřazena k zarovnanému ukazateli. Ve výchozím nastavení jsou všechny ukazatele zarovnané.

Pokud chcete vyřešit C4366, změňte zarovnání struktury nebo deklarujte ukazatel pomocí klíčového slova __unaligned .

Další informace najdete v tématu __unaligned a balení.

Příklad

Následující ukázka vygeneruje 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
}