Ich habe eine Timer-Klasse erstellt, die eine Rückrufmethode aufrufen muss, wenn der Timer abgelaufen ist. Zur Zeit arbeite ich mit normalen Funktionszeigern (sie werden als void (*) (void) deklariert, wenn das Ereignis Elapsed auftritt, wird der Funktionszeiger aufgerufen.So definieren Sie einen allgemeinen Mitgliedsfunktionszeiger
Es ist möglich, dasselbe mit einer Mitgliedsfunktion zu tun, die das hat auch die Signatur void (AnyClass :: *) (void)
Dank mates
EDIT:?. Dieser Code hat unter Windows und auch auf einem Echtzeit-Betriebssystem (VxWorks) so nicht mit externen Bibliotheken arbeitet wäre großartig
EDIT2: Nur um sicher zu sein, was ich brauche, ist eine Timer-Klasse, die ein Argument am Konstruktor von nehmen tipe "AnyClass.AnyMethod" ohne Argumente und Rückgabe void. Ich muss dieses Argument und das Letztere in einem Punkt des Codes speichern und nur die Methode ausführen, auf die diese Variable zeigt. Die Hoffnung ist klar.
Sind Sie sicher, dass der Funktionszeiger nicht als 'void (*) (void *)' deklariert ist. Ich wäre sehr schockiert, wenn es keine "void *" als Parameter akzeptieren würde. –