Compiler Warning (level 4) C4820

 

The latest version of this topic can be found at Compiler Warning (level 4) C4820.

bytes' bytes padding added after construct 'member_name'

The type and order of elements caused the compiler to add padding to the end of a struct. See align for more information on padding in a struct.

This warning is off by default. See Compiler Warnings That Are Off by Default for more information.

The following sample generates 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;  
};