2009-11-12 3 views
0

무효 기능() {IOServiceAddMatchingNotification 문제

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)'


사람이 오류가 무엇을 의미하는지 알 수 있습니까 시작 ::? I (예, ​​f->start();)

내가 엑스 코드를 사용하고 기능의 목적을 main()에서 start() 호출하고 그리고 여기서 화살표가 가리키는 라인을 강조한다.

감사합니다.

답변

2

serviceMatchingCallback은 무엇입니까? 오류로 판단하면 멤버 함수 인 것으로 보입니다. 이런 방식으로 멤버 함수를 콜백으로 전달할 수 없습니다. 콜백에서 클래스 멤버 함수를 호출 할 때는 this recent discussion을 참조하십시오.

+0

serviceMatchingCallback은 멤버 함수입니다. – infinitloop