0
C++의 다른 함수에 대한 함수 포인터를 만들려고합니다. ,C++ 함수 포인터 정의
.\MyExtender.cpp(132) : error C2440: 'initializing' : cannot convert from
'LONG (__thiscall CWilExtender::*)(LPSTR,LPVIPERVAR4,LONG)' to
'LONG (__cdecl *)(LPSTR,LPVIPERVAR4,LONG)'
There is no context in which this conversion is possible
나는 DllVarHandler이 정의 된 방법을 모른다 : 내 프로그램을 컴파일 할 때
LONG (*function)(LPSTR,LPVIPERVAR4,LONG)=&CWilExtender::DllVarHandler;
, 나는이 오류가 :
이것은 내가 지금까지 무엇을 가지고 함수 포인터의 형식을 재현하는 방법을 모르겠습니다.
(_cdecl *)
을 (__thisscall CWilExtender::*)
과 어떻게 변경합니까?
특히, LONG (__thiscall CWilExtender::*)(LPSTR,LPVIPERVAR4,LONG)
의 의미는 무엇이며 어떻게 함수 포인터의 유형으로 작성합니까?
감사합니다.
가능한 복제본 [C++ Function member pointer] (http://stackoverflow.com/questions/17304659/c-function-member-pointer) –
해당 오류 메시지가 예상하는 유형을 알려줍니다. – tadman
C++에서 가상 메서드를 사용할 수 있으므로 읽기 쉽고이 문제를 피할 수있는 코드를 작성할 수 있습니다. 대신에 인터페이스를 사용하십시오. –