C 클래스 멤버 함수를 C 콜백 함수로 사용
C 클래스 멤버 함수를 C 콜백 함수로 등록 가능 , 그러나 충족해야 할 특정 요구 사항이 있습니다.
Q1: 우선 등록이 가능합니까? 제가 하려는 것과 같은 C 클래스 멤버 함수와 그렇다면 어떻게 할까요?
A1: 예, C 클래스 멤버 함수가 정적 함수로 선언된 경우 콜백 함수로 등록하는 것이 가능합니다. 기능. 정적 멤버 함수에는 비정적 멤버 함수와 달리 첫 번째 인수로 암시적 'this' 포인터가 없습니다. 이를 통해 C 콜백 함수의 서명과 호환될 수 있습니다.
Q2: 이 문제를 해결할 수 있는 대체/더 좋은 방법이 있습니까?
A2: 다음은 다음과 같습니다. 몇 가지 대체 옵션:
정적 멤버 함수 사용 예:
class A { public: A() { register_with_library(&A::e); } ~A() {} static int e(int *k, int *j) { return 0; } };
위 내용은 C 클래스 멤버 함수를 C 콜백 함수로 사용할 수 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!