2009-07-17 40 views
0

我剛學習了關於gtkmm的C++。 我無法讓簡單的TextBuffer添加一行新文本。 我有一個名爲OutputBox的類,它是一個帶有TextViewer(稱爲消息)和TextBuffer(稱爲textBuffer)的HBox。Segting當調用Gtkmm textBuffer-> insert

這裏是OutputBox類的小chunck:

OutputBox::OutputBox() { 
    textBuffer = messages.get_buffer(); 
}; 

void OutputBox::addText(string newText) { 
    textBuffer->insert(textBuffer->begin(), newText); 
}; 

現在我希望,當我傳遞一個字符串到addText,新的字符串將被添加到緩衝區,而是我得到一個賽格故障。

通過gdb下運行它之後,我看到錯誤來自這裏gtkmm的庫:

template <class T_CppObject> inline 
T_CppObject* RefPtr<T_CppObject>::operator->() const 
{ 
    return pCppObject_; 
} 

我真的不知道這是什麼要麼你告訴我。我假設我錯誤地使用了這個類。

回答

1

我會建議附上調試器以查看故障發生的位置。

如果它發生在GTKmm庫中,那麼你是可能是錯誤地使用API​​。如果它出現在你的代碼中,那麼它會指向你在正確的方向

:)