编译器警告(等级 1)C4820

更新:2007 年 11 月

错误消息

“bytes”字节填充添加在构造“member_name”之后

元素的类型和顺序使编译器向结构的尾部添加填充。有关在结构中进行填充的更多信息,请参见 align

默认情况下关闭此警告。有关更多信息,请参见默认情况下处于关闭状态的编译器警告

下面的示例生成 C4820:

// C4820.cpp
// compile with: /W4 /c
#pragma warning(default : 4820) 

// Delete the following 4 lines to resolve.
__declspec(align(2)) struct MyStruct {
   char a;
   int i;   // C4820
};

// OK
#pragma pack(1)
__declspec(align(1)) struct MyStruct2 {
   char a;
   int i;
};