首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VC/MFC >

给线程函数传一个构造体指针显示illegal use of this type as an expression

2012-12-15 
给线程函数传一个结构体指针显示illegal use of this type as an expressionCString strTextint nIndexm

给线程函数传一个结构体指针显示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);

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

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

热点排行