Wie man einen typedef für einen Funktionszeiger in C++ deklariert und verwendet?
Hallo zusammen! Ich bin ein Anfänger in C++ und bin verwirrt über die Syntax der Deklaration von Funktionszeigern. Ich versuche, einen einfachen Taschenrechner zu schreiben, der je nach Benutzerauswahl die entsprechende arithmetische Operation aufruft. Anstatt einen langen switch-case zu schreiben, möchte ich ein Array von Funktionszeigern verwenden.
Ich habe gesehen, dass man einen Funktionszeiger direkt deklarieren kann, aber das sieht sehr umständlich aus. Zum Beispiel würde ich für die Funktion `int add(int a, int b)` schreiben: `int (*funcPtr)(int, int) = add`. Und wenn ich 4 Funktionen habe (add, subtract, multiply, divide), brauche ich 4 solche Deklarationen.
Irgendwo habe ich von `typedef` gehört, um diese Aufgabe zu vereinfachen. Ich habe versucht zu schreiben:
```cpp
typedef int (*Operation)(int, int);
```
Aber der Compiler meckert oder ich verstehe nicht, wie man das richtig verwendet. Mir scheint, dass meine Schreibweise falsch ist, weil ich danach kein Array solcher Zeiger erstellen kann. Ich möchte so etwas machen:
```cpp
Operation ops[4] = {add, subtract, multiply, divi
Noch keine Antworten.
Anmelden um eine Antwort zu hinterlassen