Avertissement du compilateur (niveau 4) C4366

Le résultat de l’opérateur 'operator' unaire peut être non aligné

Si un membre de structure ne peut jamais être aligné en raison de l’emballage, le compilateur avertit quand l’adresse de ce membre est affectée à un pointeur aligné. Par défaut, tous les pointeurs sont alignés.

Pour résoudre C4366, modifiez l’alignement de la structure ou déclarez le pointeur avec le __unaligned mot clé.

Pour plus d’informations, consultez __unaligned et pack.

Exemple

L’exemple suivant génère l’erreur 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
}