应该不是 CString   的问题,你把实现代码和调用代码贴全

解决方案 »

  1.   

    其实我做的跟上面的代码不一样,要庞大得很多,问题在使用CString类型的成员变量的时候,delete导出的对象的时候就会出错
      

  2.   

    CString::CString(const CString& stringSrc)
    {
    ASSERT(stringSrc.GetData()->nRefs != 0);
    if (stringSrc.GetData()->nRefs >= 0)
    {
    ASSERT(stringSrc.GetData() != _afxDataNil);
    m_pchData = stringSrc.m_pchData;
    InterlockedIncrement(&GetData()->nRefs);
    }
    else
    {
    Init();
    *this = stringSrc.m_pchData;
    }
    }
    总是在ASSERT(stringSrc.GetData()->nRefs != 0);提示错误
      

  3.   

    首先建立个demo使用相同的手法去实现并将CString 修改为cosnt char* pStr;或string什么的查看其错误原因判断
    究竟是CString的问题还是其他问题如DLL的本地存储原因等。