If-Abfragen oder Case bringen hier nichts, denn die Parameter sind immer unterschiedlich.
Das wurde hier bisher noch nicht beachtet.
Ich sehe 2 mögliche Lösungsansätze:
- Übergebe der umschließenden Funktion ein Callback-Objekt abgeleitet von einer gemeinsamen Basisklasse. Dieses kapselt den inneren Aufruf und die dafür nötigen Argumente.
- Spalte die umschließende Funktion in 2 Methoden auf; die lokalen Variablen kannst du dann in Member umwandeln. Im Destruktor nicht vergessen aufzuräumen sollte zwischendurch irgendwas schiefgehen