出错如下:
D:\tool\vs\vs6.0\MSDev98\MyProjects\shutdown\shutdownDlg.cpp(436) : error C2665: 'AfxBeginThread' : none of the 2 overloads can convert parameter 1 from type 'void (void *)'
代码如下:
void CShutdownDlg::OnButtonIp()
{
AfxBeginThread(ThreadProc,GetSafeHwnd(),THREAD_PRIORITY_NORMAL);
}void CShutdownDlg::ThreadProc(LPVOID pParam)
{ volatile int i = 1;
WSAData wsaData;
DWORD Addr;
char ip_temp1[15];
char ip_temp2[3];
//初始化套接字
WSAStartup(MAKEWORD(1,1),&wsaData);
//使用i:=1 to 245 即可自动搜索地址
for(i =4;i<5;i++)
{
strcpy(ip_temp1,"192.168.0.");
_itoa(i,ip_temp2,10);
strcat(ip_temp1,ip_temp2);
//inet_addr()函数返回一个指向honstent的结构体地址
Addr = inet_addr(ip_temp1); if(gethostbyaddr((char*)&Addr,sizeof(Addr),PF_INET))
m_lists.AddString(ip_temp1);
// else m_lists.AddString("invaild");
UpdateData(FALSE);
}
WSACleanup();}
D:\tool\vs\vs6.0\MSDev98\MyProjects\shutdown\shutdownDlg.cpp(436) : error C2665: 'AfxBeginThread' : none of the 2 overloads can convert parameter 1 from type 'void (void *)'
代码如下:
void CShutdownDlg::OnButtonIp()
{
AfxBeginThread(ThreadProc,GetSafeHwnd(),THREAD_PRIORITY_NORMAL);
}void CShutdownDlg::ThreadProc(LPVOID pParam)
{ volatile int i = 1;
WSAData wsaData;
DWORD Addr;
char ip_temp1[15];
char ip_temp2[3];
//初始化套接字
WSAStartup(MAKEWORD(1,1),&wsaData);
//使用i:=1 to 245 即可自动搜索地址
for(i =4;i<5;i++)
{
strcpy(ip_temp1,"192.168.0.");
_itoa(i,ip_temp2,10);
strcat(ip_temp1,ip_temp2);
//inet_addr()函数返回一个指向honstent的结构体地址
Addr = inet_addr(ip_temp1); if(gethostbyaddr((char*)&Addr,sizeof(Addr),PF_INET))
m_lists.AddString(ip_temp1);
// else m_lists.AddString("invaild");
UpdateData(FALSE);
}
WSACleanup();}
解决方案 »
- 关闭窗口问题
- 如何设置在工具条上显示的Cstatic的字体
- C++.NET控件获得焦点语句存在问题
- MFC 对TXT文件中内容操作
- 回报社会!提供《win32多线程程序设计》源代码下载!!!
- if the parameter is a[] in a function,what does it mean?
- 求助:我想用win32 console application 写一个程序,可是我不知道怎么办!!!!!
- 出来后点迷茫
- 有vc++技术内幕IV(潘爱民)的代码吗?
- 我是初学者,请问能不能将MFC 编写的程序象VB下程序一样进行所谓的“打包”呢??
- 是内存泄漏吗,还是XP的问题
- 小弟正在看tcp协议详解,老是碰见BSD这个词,请问它是什么意思??
use function pointer as the parameter 1.
UINT __cdecl ThreadProc( LPVOID pParam );
或者 UINT ThreadProc( LPVOID pParam );
而且你的线程处理函数必须是静态的成员函数
ThreadProc必须是类静态成员函数 或是全局函数