Also ich habe schon einige male die "
sigslot"-"Libary" verwendet.
Wobei "Libary" schon fast etwas zuviel gesagt ist, denn sie besteht nur aus einen einzigen realtiv großen Header.
http://sigslot.sourceforge.net/
Soweit ich weiß hat sie schon viele Jahre auf den Buckel, aber das macht sie ja nicht schlechter.
Es gibt auch einen zum modernen GCC kompatiblen Header, allerdings weiß ich nichtmehr wo...
Evt. ist es auch genau die selbe Lib, die du schon hattest.
Im Prinzip ist es eine einfache Kapselung von Callbacks in einer Datenstruktur. Wozu man dafür Reflection brauchen sollte, erschließt sich mir nicht. (Qt habe ich nie verwendet...)
Ohne Variadic Templates ist es aber nicht möglich eine allgemeine Lösung für eine beliebige Anzahl Parameter zu schaffen.
Man kann aber immer nur einen Parameter übergeben. In diesem wird immer eine Klasse übergeben in der wiederum die nötigen zu übergebenden Daten stecken, die man sonst direkt als Parameter übergeben hätte. Je nach Geschmack ist das sowieso die bevorzugte Variante. In C# ist es standardmäßig immer so, obwohl das nicht sein müsste... (EventArgs)