Исторически C ++ происходит от C и пытается быть совместимым в общих чертах.Что касается функций, то C немного двусмыслен в отношении различий между самими функциями и указателями на функции: имя функции преобразуется в указатель на функцию, если сразу за ней не следует токен '(' и указательфункция принимает оператор '(', точно так же, как функция. По причинам совместимости, C ++ делает то же самое.
Совместимость с C не вступает в игру для функций-членов, поэтому C ++ правильно с ними работает: функция не является указателем на функцию, и нет никакой причины для неявного преобразования между ними.
(С тех пор STL использует тот факт, что вы можете «вызвать» указатель на функцию, поэтомучто вы можете использовать функции (или, скорее, указатели на функции) как вызываемые объекты.)