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
  • 101,474
  • 16
  • 123
  • 183
infinitloop
  • 2,583
  • 6
  • 34
  • 50

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,978
  • 2
  • 12
  • 20