memcpy() 中的用typedef定义的指针还是要使用&取地址?

七月的狮子 2014-02-07 06:59:43
class Addtest
{
typedef void (Addtest:: *funThreadFunc)(); //后面的我只可以看成是对类的声明 , 类方法指针,类其中的一个方法
typedef void (*PFunThread)(LPVOID); //声明线程的指针
private:
HANDLE hThread;
DWORD ThreadID;
public:
Addtest()
{
funThreadFunc ThreadFunc=&Addtest::Execture; //在目前需要带上& 和类的名称
PFunThread PThread=NULL;
memcpy(&PThread,&ThreadFunc,sizeof(ThreadFunc)); //结果是无法识别最终的类型,所以需要加上&,还是因为指针是变量的关系
hThread=CreateThread(NULL,0,(LPTHREAD_START_ROUTINE)PThread,(void *)this,0,&ThreadID);
}
void Execture()
{
for(int i=0;i<1000;i++)
{
cout<<"德莱文"<<endl;
Sleep(100);
}
}
void terminated()
{
TerminateThread(hThread,ThreadID);
cout<<"线程已经释放"<<endl;
}
};


问题 在memcpy()中PThread,ThreadFunc 是指针类型,为什么还要使用&取地址?
...全文
245 1 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
baichi4141 2014-02-07
  • 打赏
  • 举报
回复
你要修改什么,你就使用一个指向什么的指针 如果你要修改一个指针,你就要使用一个指向该指针的指针

65,186

社区成员

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

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