簡體   English   中英

C ++:調試斷言失敗,afx.inl行122

[英]C++: Debug assertion failed, afx.inl line 122

這是問題的描述。

我定義了以下類。

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();

可視C ++版本:VC ++ 6.0

afx.inl`第122行:ASSERT(m_pchData!= NULL); return((CStringData *)m_pchData)-1; }

看來,您的theApp變量未正確初始化,因為它的成員aString內部緩沖區為NULL ,請檢查您是否在初始化之前未進行賦值。

此外,還要確保已為Visual Studio 6安裝了最新的Service Pack(SP6)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM