¿Hay casos en los que un typedef es absolutamente necesario?
Considere el siguiente extracto de la idioma bool seguro:
typedef void (Testable::*bool_type)() const;
operator bool_type() const;
¿Es posible declarar la función de conversión sin typedef? Lo siguiente no se compila:
operator (void (Testable::*)() const)() const;