C++传递参数的一个问题

forever_jofyul 2008-03-23 01:22:19
DWORD WINAPI Func(LPVOID p) 如何传递参数 最好给个实例?
...全文
70 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
forever_jofyul 2008-03-23
  • 打赏
  • 举报
回复
非常感谢
forever_jofyul 2008-03-23
  • 打赏
  • 举报
回复
好的 多谢
野男孩 2008-03-23
  • 打赏
  • 举报
回复

#include <iostream>
#include <windows.h>
using namespace std;

DWORD WINAPI Func(LPVOID p)
{
int a[3]={1,2,3};

//p= &a; //p不是这么用的。是传入参数!!
//cout<<*p; //错误:p是void指针,没有类型信息,无法输出

cout <<"Thread is running,线程正在运行,5秒钟后该线程将自动删除。" <<endl;
cout <<"请等待……" <<endl <<endl;

cout << "输入参数:" << (char*)p << endl;
Sleep(5000);
return(0);
}

int main()
{
char a[] = "hello, world";

HANDLE hThd = CreateThread(NULL, 0, Func, a, NULL, NULL);
WaitForSingleObject(hThd, INFINITE);

return 0;
}


c++中一般是把类指针传入线程函数。
herman~~ 2008-03-23
  • 打赏
  • 举报
回复
p传递给线程的参数
forever_jofyul 2008-03-23
  • 打赏
  • 举报
回复
DWORD WINAPI Func(LPVOID p)
{

int a[3]={1,2,3};
p= &a;
cout <<"Thread is running,线程正在运行,5秒钟后该线程将自动删除。"<<endl;
cout<<"请等待……"<<endl<<endl;
return(0);
}

加上cout<<*p;时得不到正确答案?
xhd3767 2008-03-23
  • 打赏
  • 举报
回复
long p void

65,210

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧