谁能告诉我这条出错信息该怎么办?
:\Programs\DDrawTest\DDrawTestDlg.cpp(123) : error C2664: 'DirectDrawEnumerateA' : cannot convert parameter 1 from 'int (struct _GUID *,char *,char *,void *)' to 'int (__stdcall *)(struct _GUID *,char *,char *,void *)'
None of the functions with this name in scope match the target type
其中我用的是:
if( FAILED(DirectDrawEnumerate(EnumCallBack,(LPVOID)pCombo)) ){
函数的定义:
BOOL WINAPI CDDrawTestDlg::EnumCallBack(GUID FAR *lpGUID,
LPSTR lpDriverDescription,
LPSTR lpDriverName,
LPVOID lpContext)
{
static count=0;
CComboBox *pCombo=(CComboBox*) lpContext;
CString TemString=lpDriverName;
TemString+=" ";
TemString+=lpDriverDescription;
pCombo->AddString(TemString);
pGUID[count++]=lpGUID;
return DDENUMRET_OK;
}
问题点数:54、回复次数:5Top
1 楼yxin(小新)回复于 2001-11-18 20:14:52 得分 0
那位好心人帮帮忙,在下先行谢过了Top
2 楼ccmouse(曼妥思)回复于 2001-11-18 20:40:41 得分 54
普通的类成员函数不能作为callback函数,因为隐式传递一个this指针。
申明为static成员函数或全局。
Top
3 楼yxin(小新)回复于 2001-11-18 20:54:12 得分 0
哇……好厉害,一句话就全解决了:)
不过,还有一个问题必须解决……
为什么我现在一给分就出:
http://www.csdn.net/expert/answer.asp
HTTP 500 - 内部服务器错误
急!急……关系到了给分大事!!
Top
4 楼ccmouse(曼妥思)回复于 2001-11-19 20:27:48 得分 0
呵呵,这个重试一下吧。谢了先。Top
5 楼yxin(小新)回复于 2001-11-19 20:51:44 得分 0
现在好了,呵呵
Top




