读书人

给线程函数传一个构造体指针显示illeg

发布时间: 2012-12-15 15:16:03 作者: rapoo

给线程函数传一个结构体指针显示illegal use of this type as an expression
CString strText;
int nIndex=m_nUrlList.GetCurSel();
m_nUrlList.GetText(nIndex,strText);
typedef struct var{
CString strText;
CUpCheckView *upcheckview;
}strvar;
HANDLE hHandle=CreateThread(NULL,0,BeginCheck,(LPVOID)&strvar,0,NULL);
CloseHandle(hHandle);

上面是我写的代码,显示如下错误,不知道是哪里出了问题,求指导!
D:\liujc_vc\FileCheck\UpCheckView.cpp(242) : error C2275: 'strvar' : illegal use of this type as an expression

[最优解释]
我怎么看着是定义了结构体,但是并没有实例化。
strvar是用了typedef之后的一个自定义的类型,没有实例化。
[其他解释]
结构体没有实例话,


strvar st;
HANDLE hHandle=CreateThread(NULL,0,BeginCheck,(LPVOID)&st,0,NULL);

[其他解释]
strvar是个结构体类型,没有声明一个对应的实例。。。
[其他解释]
没有实例化

strvar ss;

HANDLE hHandle=CreateThread(NULL,0,BeginCheck,(LPVOID)&ss,0,NULL);

[其他解释]
在函数里面可以定义结构体吗?我不知道。也没这么用过。

要不拉到函数外面去看看?

读书人网 >VC/MFC

热点推荐