错误C2440:'type cast':无法从'overloaded-function'转换为

时间:2013-10-07 10:58:58

标签: c++ function visual-studio-2012 casting

我有一段代码在以前的项目中运行良好。它的一部分甚至是从一个正在运行的演示项目中复制而来,我不知道现在如何在一个新项目中出现这个错误。 编译时,我有以下错误:

1>d:\visual studio 2012\netsdk_poc\mfc_netsdk2\mfc_netsdk2\netsdkfunctions.cpp(33): error C2440: 'type cast' : cannot convert from 'overloaded-function' to 'fDisConnect'

代码:

class CNetSDKFunctions{

void __stdcall DisConnectBackCallFunc(LONG lLoginID, char *pchDVRIP, 
                                  LONG nDVRPort, DWORD dwUser)
{
    CNetSDKFunctions* pThis = (CNetSDKFunctions*)dwUser;
    if (pThis == NULL)
    {
        ASSERT( FALSE );
        return ;
    }
    //pThis->ReConnect(lLoginID, pchDVRIP, nDVRPort);
}

BOOL CNetSDKFunctions::InitSDK()
{
    long m_PlayerHandle;

    H264_DVR_GetLastError();
    H264_DVR_Init(NULL, 0);

            //Here it is :
    BOOL logResult = H264_DVR_Init( (fDisConnect) DisConnectBackCallFunc, (DWORD) this );
   ....
  }

和fDisConnect定义:

typedef void (CALL_METHOD *fDisConnect)(long lLoginID, char *pchDVRIP, long nDVRPort, unsigned long dwUser);

0 个答案:

没有答案