Compilerwarnung (Ebene 4) C4366
Das Ergebnis des unären Operators "Operator" kann nicht ausgerichtet sein.
Wenn ein Strukturelement aufgrund der Verpackung jemals nicht ausgerichtet werden kann, warnt der Compiler, wenn die Adresse dieses Elements einem ausgerichteten Zeiger zugewiesen wird. Standardmäßig werden alle Zeiger ausgerichtet.
Zum Auflösen von C4366 ändern Sie entweder die Ausrichtung der Struktur, oder deklarieren Sie den Zeiger mit dem __unaligned Schlüsselwort (keyword).
Weitere Informationen finden Sie unter __unaligned und Packen.
Beispiel
Im folgenden Beispiel wird C4366 generiert.
// 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
}
Feedback
https://aka.ms/ContentUserFeedback.
Bald verfügbar: Im Laufe des Jahres 2024 werden wir GitHub-Issues stufenweise als Feedbackmechanismus für Inhalte abbauen und durch ein neues Feedbacksystem ersetzen. Weitere Informationen finden Sie unterFeedback senden und anzeigen für