编译器警告(等级 1)C4103
“filename”: 在包括标题之后对齐方式发生了更改,可能是由于缺少 #pragma pack(pop)
打包会影响类的布局,通常,如果跨头文件更改打包,则可能出现问题。
在退出头文件之前使用 #pragma pack(pop) 来解决此警告。
下面的示例生成 C4103:
// C4103.h
#pragma pack(push, 4)
// definitions and declarations
// uncomment the following line to resolve
// #pragma pack(pop)
然后,
// C4103.cpp
// compile with: /LD /W1
#include "c4103.h" // C4103