Advertencia del compilador (nivel 4) C4366
El resultado del operador 'operator' unario 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
}