这里是问题的描述。
我定义了以下类..
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
最佳答案
afx.inl` line 122: ASSERT(m_pchData != NULL); return ((CStringData*)m_pchData)-1; }
看来,您的 theApp
变量未正确初始化,因为它的成员 aString
内部缓冲区为 NULL
,请检查您是否未正确初始化在初始化之前进行分配。
还要确保为 Visual Studio 6 安装了最新的服务包 (SP6)。
关于C++:调试断言失败,afx.inl 第 122 行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38089970/