編譯器警告 (層級 4) C4366
一元 'operator' 運算子的結果可能未對齊
如果因為封裝而無法對齊結構成員,編譯程式會在該成員的位址指派給對齊的指標時發出警告。 根據預設,所有指標都會對齊。
若要解析 C4366,請變更 結構的對齊方式,或使用 __unaligned 關鍵詞宣告指標。
如需詳細資訊,請參閱__unaligned和 套件。
範例
下列範例會產生 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
}