Avatar ·

¿Cómo declarar y usar typedef para un puntero a función en C++?

¡Hola a todos! Soy un desarrollador principiante de C++ y tengo confusión con la sintaxis de declaración de punteros a funciones. Estoy intentando escribir una calculadora simple que, según la elección del usuario, llame a la operación aritmética correspondiente. En lugar de escribir un largo switch-case, quiero usar un array de punteros a funciones. He visto que se puede declarar un puntero a función directamente, pero se ve muy engorroso. Por ejemplo, para la función `int add(int a, int b)` escribiría `int (*funcPtr)(int, int) = add`. Y si tengo 4 funciones (add, subtract, multiply, divide), necesito 4 declaraciones de este tipo. En algún lado escuché sobre `typedef` para simplificar esta tarea. Intenté escribir: ```cpp typedef int (*Operation)(int, int); ``` Pero el compilador se queja o no entiendo cómo usarlo correctamente. Me parece que mi escritura es incorrecta porque luego no puedo crear un array de esos punteros. Quiero hacer algo como: ```cpp Operation ops[4] = {add, subtract, multiply, divi