阅读:1967回复:5
关于_beginthread的使用出错
我申明了一个void Thread(PVOID pvoid),在_beginthread(Thread,0,NULL)来调用,编译时出现了
_beginthread:cannot convert parameter 1 from \'void (PVOID)\' to \'void (_cdecl *)(void *)\' None of the functions with this name in scope match the traget type. 请问这个是什么原因?谢谢 |
|
沙发#
发布于:2005-03-10 10:25
_beginthread(Thread,0,NULL)
改为 _beginthread(&Thread,0,NULL) |
|
|
板凳#
发布于:2005-03-10 18:13
我申明了一个void Thread(PVOID pvoid),在_beginthread(Thread,0,NULL)来调用,编译时出现了 我想你是没有声明 void Thread(PVOID pvoid);//声明 void Thread(PVOID pvoid) { .... } void main() { ... _beginthread(Thread,0,NULL); ... } [编辑 - 3/11/05 by snowStart] |
|
|
地板#
发布于:2005-03-17 21:58
snowStart说的没错!
而且你的Thread参数可以是多种类型指针。 例如: Thread(int * pnParam); 多线程一定要注意对象生存期。 |
|
|
地下室#
发布于:2007-03-01 12:49
我也遇到同类问题,谢谢各位
|
|
|
5楼#
发布于:2007-03-05 13:24
以上的看法有问题,编译问题是因为线程执行例程应该定义成__cdecl,即void __cdecl Thread(PVOID pvoid)
|
|