|
|
Hi,
我的使用DXUT中SetCallback函数是遇到这样问题,比如
DXUTSetCallbackD3D9DeviceCreated(OnCreateDevice);
该函数第一个参数是LPDXUTCALLBACKD3D9DEVICECREATED指向回调函数指针,如果我的OnCreateDevice方法定义在全局,如下
HRESULT CALLBACK OnCreateDevice(IDirect3DDevice9* pd3dDevice, const D3DSURFACE_DESC* pBackBufferSurfaceDesc, void* pUserContext);
则函数DXUTSetCallbackD3D9DeviceCreated调用是没问题,但是如果要调OnCreateDevice为某类成员函数,
在该类的另一成员函数中调用DXUTSetCallbackD3D9DeviceCreated(&CDemo::OnCreateDevice);会提示如下错误:
error C2664: 'DXUTSetCallbackD3D9DeviceCreated' : cannot convert parameter 1 from 'HRESULT (__stdcall CDemo::* )(IDirect3DDevice9 *,const D3DSURFACE_DESC *,void *)' to 'LPDXUTCALLBACKD3D9DEVICECREATED'。
参数不匹配了。。。
这是为什么呢any help,many thanks [em24] |
|