Скажем, что мы имеем класс A
class A;
и эти typedefs
typedef void (A::*a_func_ptr)(void);
typedef void (*func_ptr)(void);
Мой вопрос в том, почему sizeof (a_func_ptr) возвращает 16, а sizeof (func_ptr) возвращает 4 (как для любого указателя на системе x86)?
Например
int main(int argc, char *argv[])
{
int a = sizeof(a_func_ptr);
int b = sizeof(func_ptr);
}