我只是在学习 gtkmm for c++。我无法获得一个简单的 TextBuffer 来添加新的文本行。我有一个名为 OutputBox 的类,它是一个带有 TextViewer(称为消息)和 TextBuffer(称为 textBuffer)的 HBox。
这是 OutputBox 类的一小部分:
OutputBox::OutputBox() {
textBuffer = messages.get_buffer();
};
void OutputBox::addText( string newText) {
textBuffer->insert(textBuffer->begin(), newText);
};
现在我希望当我将一个字符串传递给 addText 时,新字符串将被添加到缓冲区中,但是我得到了一个 seg 错误。
通过 gdb 运行它后,我看到错误来自这里的 gtkmm 库:
template <class T_CppObject> inline
T_CppObject* RefPtr<T_CppObject>::operator->() const
{
return pCppObject_;
}
我也不确定这在告诉我什么。我假设我错误地使用了这个类。