Предупреждение компилятора (уровень 4) C4366
Результат унарного оператора "оператор" может быть неоплачен
Если элемент структуры может быть незамечен из-за упаковки, компилятор будет предупреждать, когда адрес этого элемента назначается выровненному указателю. По умолчанию все указатели выровнены.
Чтобы разрешить 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
}