C++:调试断言失败,afx.inl 第 122 行

标签 c++ visual-studio visual-c++

这里是问题的描述。

我定义了以下类..

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/

相关文章:

c# - 如果解决方案缺少引用的项目,则 MSBuild 解决方案构建失败

c++ - 如何在 qt creator 和 msvc 中使用 boost 正则表达式

c++ - 为什么尽管有 SW_HIDE 和 CREATE_NO_WINDOW,通过 CreateProcess 调用的程序的窗口仍会显示?

c++ - 在 C++ 的类构造函数中初始化二维数组

c++ - 如果未检查函数返回值,如何在 C++(17) 中强制出现编译错误?理想情况下通过类型系统

xml - Intellisense 无法使用 XML 引号 - 键入双引号会打开两个引号,再次键入双引号不会移动光标

C++双缓冲区和内存

c++ - 继承自 OpenCV 类 - 编译错误

python - 包装的 C++ 函数的输入字符串不会更改 SWIG

c++ - 为什么 "int const B::bsm1a;"不被认为是重定义?