小弟c++基础不好,有个地方不明白:
(1)
Trans t ("abc","abc"); //Trans是一个类
AfxBeginThread(TestThread,&t);和
(2)
Trans* t = new Trans("abc","abc");
AfxBeginThread(TestThread,t);
有什么不同?不都是把地址传过去TestThread方法中去吗?
为什么(1)的那个运行时会出现错误 ?TestThread方法如下:
/////////////////////////////////////////////////////
UINT TestThread(LPVOID pParam)
{
Trans* t = (Trans*) pParam;
MessageBox(0,t->strurl,t->strlocal,MB_OK);
delete t;
return 0;
}
/////////////////////////////////////////////////////
请指点~~~~ 谢谢!!!
(1)
Trans t ("abc","abc"); //Trans是一个类
AfxBeginThread(TestThread,&t);和
(2)
Trans* t = new Trans("abc","abc");
AfxBeginThread(TestThread,t);
有什么不同?不都是把地址传过去TestThread方法中去吗?
为什么(1)的那个运行时会出现错误 ?TestThread方法如下:
/////////////////////////////////////////////////////
UINT TestThread(LPVOID pParam)
{
Trans* t = (Trans*) pParam;
MessageBox(0,t->strurl,t->strlocal,MB_OK);
delete t;
return 0;
}
/////////////////////////////////////////////////////
请指点~~~~ 谢谢!!!
解决方案 »
- MFC 控件的点击事件
- 如何让一个图形在一定的范围内以一定的速度移动
- 请问如何在vc2005中开发出同时支持 ANSI ,又同时支持 Unicode的exe文件呢?
- 有没有办法截获IE读取的网络数据
- 关于VC的一个问题,也与ATL有关!
- 100分!!!求一个VC/MFC单文档的画图程序源代码,看好即给。
- 只有90分了,关于sendto()的 sockaddr_in* to
- 那里有《深入理解COM+》下载
- 请问winsock编成的时候,缓冲区不够,winsock会报什么错误?怎么处理?
- 我的一个控件用来播放图像的, 放在基于对话框的程序中,狂闪不止, 请问如何消除屏幕闪烁?
- 我是不是用建两了socket呀
- 跪求各位兄弟来帮手啦.关于ListBox的颜色问题.
MessageBox(0,t->strurl,t->strlocal,MB_OK);If you want to test,you can sleep a while,allowing TestThread() to execute completely, after "AfxBeginThread(TestThread,&t);"
(,and remove "delete t;" frome "TestThread()".)
第二个有什么错么?没有.第一个的错误和joinrry说的一样,t是一个局部变量,调用AfxBeginThread的函数肯定会返回对吧,这时局部变量t的内存会做其它的用途.如果这时线程还没有返回...