0

void functions::start() {

io_iterator_t enumerator;

...some code...

result = IOServiceAddMatchingNotification(
            mNotifyPort,
                                        kIOMatchedNotification,
                                        IOServiceMatching( "IOFireWireLocalNode" ),
                                        serviceMatchingCallback, 
                                        (void *)0x1234,
                                        &enumerator  );    <=====
}

functions.cpp:83: error: argument of type 'void (functions::)(void*, io_iterator_t)' does not match 'void ()(void, io_iterator_t)'


does anyone know what this error mean? I am calling start() from main() through an object of functions ( eg, f->start(); )

i am using xcode and it highlights the line where the arrow points.

Thank you.

dirkgently
  • 108,024
  • 16
  • 131
  • 187
infinitloop
  • 2,863
  • 7
  • 38
  • 55

1 Answers1

2

What is serviceMatchingCallback? Judging by the error, it seems to be a member function. You can't pass a member function as a callback in this manner. See this recent discussion on calling a class member function from a callback.

Community
  • 1
  • 1
lyricat
  • 1,988
  • 2
  • 12
  • 20