这是问题的描述。
我定义了以下类..
class classA {
public:
CString aString;
};
extern classA theApp;
在另一个类函数中,我这样做
theApp.aString = "test string";
然后我得到运行时错误调试断言失败,afx.inl第122行; 请指教。
我也尝试在类中进行分配,但它无法标记相同的运行时错误。
class classA {
public:
CString aString;
void set_string()
{
aString = "test string 2";
}
};
extern classA theApp;
//in another class function
theApp.set_string();
visual c ++版本:VC ++ 6.0
答案 0 :(得分:1)
afx.inl`第122行: ASSERT(m_pchData!= NULL); return((CStringData *)m_pchData)-1; }
看来,您的theApp
变量未正确初始化,因为其成员aString
内部缓冲区为NULL
,请检查您是否在初始化之前进行了分配。
还要确保为Visual Studio 6安装了最新的Service Pack(SP6)。