Como declarar e usar typedef para ponteiro para função em C++?
Olá a todos! Sou um desenvolvedor C++ iniciante e fiquei confuso com a sintaxe de declaração de ponteiros para funções. Estou tentando escrever uma calculadora simples que, de acordo com a escolha do usuário, chama a operação aritmética necessária. Em vez de escrever um longo switch-case, quero usar um array de ponteiros para funções.
Vi que é possível declarar um ponteiro para função diretamente, mas parece muito verboso. Por exemplo, para a função `int add(int a, int b)`, eu escreveria `int (*funcPtr)(int, int) = add`. E se eu tiver 4 funções (add, subtract, multiply, divide), preciso de 4 dessas declarações.
Ouvi falar sobre `typedef` para simplificar essa tarefa. Tentei escrever:
```cpp
typedef int (*Operation)(int, int);
```
Mas o compilador reclama ou não entendo como usar corretamente. Acho que minha declaração está errada, porque não consigo criar um array desses ponteiros depois. Quero fazer algo como:
```cpp
Operation ops[4] = {add, subtract, multiply, divi