>>C c;
>>sizeof(&c.foo()) = ...;
Это не размер указателя на функцию.
По порядку:
сначала отрабатывает c.foo() , то есть вызываеться функция foo обьекта с, эта функция возвращает какое-то значение от которого ты получаешь адресс, а потом берешь sizeof от него.
По большому, такой код даже компилироваться не должен поскольку у тебя нет тела функции и возвращаемое значение типа void.
Указателем на функцию ,как известно, являеться ее имя. А запись - c.foo() являеться вызовом этой функции.
|