Самый простой ответ: все операторы шаблонной <> функции класса == () являются частными.
Дополнительный вопрос: Что, если вы ожидали следующего:
- сравнить адрес функций
- сравнить два разных объекта (типа std :: function
- сравнить две абстрактные функции
Редактировать (почти 5 лет спустя):
Мне показалось забавным, что есть отрицательные отзывы без комментариев.Если отрицательные отзывы вызваны тем, что C ++ 11 изменил уровень доступа для std :: function :: operator == (), то я говорю, что избиратель не понимает, как работает время.Если отрицательные отзывы вызваны тем, что спрашивающий не уточнил, что сравнивает предполагаемый оператор == (), возможно, избиратель должен увидеть многочасовое обсуждение в комментариях сразу под вопросом, на который ФП ответил только в комментариях к моему ответу.