#include class someClass{ char * value = "someValue"; } class callback{ constructor() { this->testCallbacks(); } void callCallback( void ( * function )( struct someClass * caller, int ) , int number, struct someClass * caller ) { function( caller, number ); } void printTest( struct someClass * caller, int a ) { printf("print test: %i %s .\n\n\n\n", a, caller->value); } void anotherPrintTest( struct someClass * caller, int a ) { //struct user * someUser = someObject; printf("another print test: %i %s .\n\n\n\n", a, caller->value); } void testCallbacks() { someClass * instance = new someClass(); this->callCallback( this->printTest, 1234, instance ); this->callCallback( this->printTest, 5678, instance ); this->callCallback( this->printTest, 910, instance ); this->callCallback( this->anotherPrintTest, 910, instance ); this->callCallback( this->anotherPrintTest, 910, instance ); } }