|
![]() | 作者: hongyang [hongyang]
![]() |
登录 |
大家好,我在编译一个例程时,是关于线程的; 用的函数是AfxBeginThread(thread,0) 并且在声明中用的是:UINT thread(LPVOID p) 但是出现以下错误: D:\vctest1\Csocket\CsocketDlg.cpp(143) : error C2665: 'AfxBeginThread' : none of the 2 overloads can convert parameter 1 from type 'unsigned int (void *)' 不知道是什么意思,请各位给看一下,指点一下~~ 谢谢~~~~~~~~~~~~ |
地主 发表时间: 11/02 18:32 |
![]() | 回复: 286 [unique] ![]() |
登录 |
struct ThreadParam { XXXXXXX; } p; UINT thread(LPVOID p); AfxBeginThread(thread,&p,THREAD_PRIORITY_IDLE); |
B1层 发表时间: 11/03 09:43 |
![]() | 回复: shesh [shesh] ![]() |
登录 |
实体在哪? 强制转换也可以. |
B2层 发表时间: 11/03 10:43 |
![]() | 回复: hongyang [hongyang] ![]() |
登录 |
我真的是很受宠了,居然有两位版主为我解难,实在是感谢~~~~~~~~ 关于老无版主说的实体转换,是不是AfxBeginThread((UINT )thread,0) 还是AfxBeginThread((UINT *)thread,0),要是的话,都不可以啊~~ 286版主说的struct ThreadParam结构体中的成员该是怎么确定啊 ~~~ 我不懂,能否给小弟指明一下?? 谢谢两位版主!!~~~~~~~~~~~~ 我现在该是多看程序呢?还是多写?或是比葫芦化瓢看了人家的程序自己在做一遍呢? 我上机编译一个程序总是花费很多时间,有时候觉得很不合算究竟该怎么办呢?? 两位版主能否就-----是否新手,―――刚刚入门,―――能看懂一些程序 这三种情况给于具体一点的指点??好让我们都有一个比较好的思路~~ 谢谢!!~~~~~~~~~~~~~~~~~~~~~~~~ |
B3层 发表时间: 11/03 14:09 |
![]() | 回复: 286 [unique] ![]() |
登录 |
//定义线程数据结构=================================== struct ThreadParam { //这里的值当然是你需要什么就填什么了. //比如: int i; } p; //声明================================================ UINT thread(LPVOID p); //例子片段============================================= for (int i=0;i<10;i++) {//发10个线程 p.i=i; AfxBeginThread(thread,&p,THREAD_PRIORITY_IDLE); Sleep(100); } //实际的线程.(也许就是无兄所说的实体吧)================ UINT thread(LPVOID pParam) { ThreadParam* threadparam=(ThreadParam*)pParam; CString ShowMsg; ShowMsg.Format("这是第%d个线程",threadparam->i; AfxMessageBox(ShowMsg); return 0; } |
B4层 发表时间: 11/03 14:56 |
|
20CN网络安全小组版权所有
Copyright © 2000-2010 20CN Security Group. All Rights Reserved.
论坛程序编写:NetDemon
粤ICP备05087286号