2009-07-17 11 views
0

私はgtkmmについてC++について学んでいます。 新しいテキスト行を追加するための単純なTextBufferの取得に問題があります。 私はTextBox(メッセージと呼ばれる)とTextBuffer(textBufferと呼ばれる)を持つHBoxであるOutputBoxというクラスを持っています。ここで Gtkmmを呼び出すときのSegfault textBuffer-> insert

はOutputBoxクラスの小さなchunckです:今、私はaddTextに文字列を渡したときに、新しい文字列がバッファに追加されることを期待し、代わりに私はワンセグ障害を取得

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

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

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

私は本当に、これはどちらか私に言っているかわからないんだけど:

GDBを通してそれを実行した後、私はエラーがここにgtkmmのライブラリから来ていることがわかります。私はクラスを間違って使っていると思います。

答えて

1

デバッガを付けて、障害の発生場所を確認することをお勧めします。

GTKmmライブラリ内で発生する場合は、(おそらく)APIを間違って使用しています。それがあなたのコードで発生する場合、それはあなたに正しい方向にあなたを指し示すでしょう

:)

関連する問題