将函数指针转换为(void *)

时间:2018-05-16 09:51:22

标签: c++ casting function-pointers

我有一个简单的问题让我心烦意乱。 在我的解决方案中,我正在使用一个DLL,它提供了以下功能:

int RegisterCallback(TCallbackType CallbackType, void *pLLTProfileCallback, void *pUserData);

有关更多信息,参数pLLTProfileCallback是一个定义为的函数类型:

typedef void (__stdcall *TNewProfile_s)(const unsigned char *pData,
unsigned int nSize, void *pUserData);

我正在尝试在此参数中插入我的函数'NewProfile',如下所示:

RegisterCallback(STD_CALL, (void*)NewProfile, m_pLLT1);

但它说:'错误:无效的类型转换'。

'NewProfile'的函数定义是:

void __stdcall NewProfile(const unsigned char* pucData, unsigned int uiSize, void* pUserData){...}

我的错误究竟在哪里?我该怎么做才能解决它?

0 个答案:

没有答案