读书人

一个CString成员变量被意外清空的BUG解

发布时间: 2012-02-28 13:06:35 作者: rapoo

一个CString成员变量被意外清空的BUG

C/C++ code
//.hclass A{    A();public:    void Init();protected:    CString m_str;};//.cpp  A::A()  {    Init();   }  void A::Init()  {    m_str = func();   }  CString func(){    CString res;    //...block   return res;}


类的结构大概是这样,Init里面执行完,返回到A的构造时,m_str就被清空了.我想到应该是字符串引用或者是相互赋值出现问题了,但是现在还不是确定怎么做?有没有高手在?

[解决办法]
你的func函数不是返回的CString对象吗?生成的临时CString对象然后赋给m_str对象

读书人网 >VC/MFC

热点推荐