Рассмотрим следующий отрывок из идиомы safe bool :
typedef void (Testable::*bool_type)() const;
operator bool_type() const;
Можно ли объявить функцию преобразования без typedef? Следующее не компилируется:
operator (void (Testable::*)() const)() const;