Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Wynik jednoargumentowego operatora "operator" może być nieprzyzwoiszony
Uwagi
Jeśli element członkowski struktury może być kiedykolwiek nieprzygotowany z powodu pakowania, kompilator wyświetli ostrzeżenie, gdy adres tego elementu członkowskiego zostanie przypisany do wyrównanego wskaźnika. Domyślnie wszystkie wskaźniki są wyrównane.
Aby rozwiązać problem C4366, zmień wyrównanie struktury lub zadeklaruj wskaźnik za pomocą słowa kluczowego __unaligned .
Aby uzyskać więcej informacji, zobacz __unaligned i pack.
Przykład
Poniższy przykład generuje kod 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
}