Bagikan melalui


Compiler Warning (level 4) C4366

Hasil operator 'operator' unary mungkin tidak disejajarkan

Jika anggota struktur dapat tidak selaras karena pengemasan, pengkompilasi akan memperingatkan ketika alamat anggota tersebut ditetapkan ke penunjuk yang selaras. Secara default, semua penunjuk diratakan.

Untuk mengatasi C4366, ubah perataan struktur atau deklarasikan penunjuk dengan kata kunci __unaligned .

Untuk informasi selengkapnya, lihat __unaligned dan paket.

Contoh

Sampel berikut menghasilkan 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
}