Compartir a través de


Advertencia del compilador (nivel 4) C4366

El resultado del operador unario "operator" se puede desalinear

Si un miembro de la estructura se puede desalinear debido al empaquetado, el compilador emitirá una advertencia cuando la dirección de ese miembro se asigne a un puntero alineado. De manera predeterminada, todos los punteros están alineados.

Para resolver C4366, cambie la alineación de la estructura o declare el puntero con la palabra clave __unaligned.

Para más información, consulte __unaligned y pack.

Ejemplo

El ejemplo siguiente genera la advertencia 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
}