(C语言)多线程beginthreadex的第四个参数(结构体)到底怎么设置才能正确传递数值 20
structtest{longb[NUM];longlleft;longrright;};unsigned__stdcallFirstThreadFunc(void*)/...
struct test
{
long b[NUM];
long lleft;
long rright;
};
unsigned __stdcall FirstThreadFunc(void*) //第一个线程函数,函数里调用fun函数进行排序
{
int left=first.lleft;
int right=first.rright;
fun(first.b,left,right);
}
hThread[0]=(HANDLE)_beginthreadex(NULL,0,FirstThreadFunc,&first,0,&threadID[0]);
上面我的写法会报错,肯定错的。
能不能帮忙改一下,正确的写法是什么,以及函数里怎么样正确的传递,还有第四个参数的设置。 展开
{
long b[NUM];
long lleft;
long rright;
};
unsigned __stdcall FirstThreadFunc(void*) //第一个线程函数,函数里调用fun函数进行排序
{
int left=first.lleft;
int right=first.rright;
fun(first.b,left,right);
}
hThread[0]=(HANDLE)_beginthreadex(NULL,0,FirstThreadFunc,&first,0,&threadID[0]);
上面我的写法会报错,肯定错的。
能不能帮忙改一下,正确的写法是什么,以及函数里怎么样正确的传递,还有第四个参数的设置。 展开
1个回答
2015-11-24
展开全部
第四个参数的类型是LPVOID(long型指针),可以进行任意类型的转换,具体函数传参可以参考http://blog.csdn.net/morewindows/article/details/7421759。
追问
不对,没有我要的结构体的传递办法
追答
将一个long型指针指向结构体就行了啊
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询