stack smashing detected 莫名其妙的錯誤


ubuntu c++下一段不太復雜的程序,出現stack smashing detected錯誤。精簡,再精簡后,發現錯誤居然是這樣的:

CDBHelper::CDBHelper()
{
//ctor
m_pSTM=nullptr;

m_pConnection=nullptr;

 

兩個類的指針,如果初始化,就會出現上述錯誤。

改:

注釋全部------錯誤消失

注釋第一個,初始化第二個--------錯誤消失

兩個都初始化--------錯誤出現

改為:

private:
CConnection* m_pConnection;
CMysqlStatement* m_pSTM_0;
CMysqlStatement* m_pSTM;

---------即,在類的頭文件中,添加一個不用的變量后

兩個都初始化(不用變量不管,不初始化)---------錯誤消失

 這樣也不會出現錯誤:

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM