编译器警告(等级 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