#pragma pack(2)
class A
{
int i;
union U
{
char buff[13];
int i;
}u;
void foo() { }
typedefchar* (*f)(void*);
enum{red, green, blue} color;
class A
{
int i;
union U
{
char buff[13];
int i;
}u;
void foo() { }
typedefchar* (*f)(void*);
enum{red, green, blue} color;
}a;
sizeof(a) = 22
#pragma pack(2)
class A
{
int i;
union U
{
char buff[13];
int i;
}u;
void foo() { }
char* (*f)(void*);
enum{red, green, blue} color;
}a;
sizeof(a) = 26