C++数据类型转换 创建线程时,CreateThread参数3我要传递一个CString类型指针,CString怎么转成LPVOID
答案:4 悬赏:20 手机版
解决时间 2021-11-12 09:24
- 提问者网友:沦陷
- 2021-11-12 02:07
C++数据类型转换 创建线程时,CreateThread参数3我要传递一个CString类型指针,CString怎么转成LPVOID
最佳答案
- 五星知识达人网友:千杯敬自由
- 2021-11-12 03:40
我觉得你的算法的问题在于
主线程在CreateThread后退出了函数,使得CString str被析构,这时创建的子线程再去取lpParameter的时候就无法取到正确的值
建议使用全局对象或者在堆上动态生成对象
主线程在CreateThread后退出了函数,使得CString str被析构,这时创建的子线程再去取lpParameter的时候就无法取到正确的值
建议使用全局对象或者在堆上动态生成对象
全部回答
- 1楼网友:洎扰庸人
- 2021-11-12 06:03
你最好看看在CString rec=(LPCTSTR)lpParameter的时候str有没有被销毁掉。。
- 2楼网友:渊鱼
- 2021-11-12 05:08
LPVOID 是一个指向空类型的指针,所以传给第四个参数的应该是一个指针。你改为
&CString 试一下。
&CString 试一下。
- 3楼网友:罪歌
- 2021-11-12 04:53
试试这样传:
(LPVOID)&str
这样用:
CString rec = *(CString*)lpParameter;追问按你这方法编译没问题,但运行到CString rec = *(CString*)lpParameter; 时说读取oxffffff0时发生冲突
(LPVOID)&str
这样用:
CString rec = *(CString*)lpParameter;追问按你这方法编译没问题,但运行到CString rec = *(CString*)lpParameter; 时说读取oxffffff0时发生冲突
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯