Also das Problem mit dem löschen könnte man lösen, indem man die Struktur Listelem noch durch einen Pointer auf das vorherige Element ergänzt. Dann hätte eine delete-Funktion alles was sie braucht um ein Element korrekt zu löschen.


Was die Parameter betrifft, so ist das natürlich ein ganz zentrales Problem bei der Verwendung von Funktionspointern. Man muss eine sinnvolle Schnittstelle definieren, über die man die Funktionen mit allen nötigen Informationen versorgen kann, und das möglichst ohne zu viel Ballast. Denkbar wären vielleicht zwei Parameter "input" und "output" (als void*), zur Übergabe von funktionsspezifischen Daten. Vielleicht gibt es da aber auch noch elegantere Lösungen.