Я только что узнал о gtkmm для c ++.
У меня проблемы с получением простого TextBuffer для добавления новой строки текста.
У меня есть класс с именем OutputBox, который является HBox с TextViewer (называемым сообщениями) и TextBuffer (называемым textBuffer).
Вот небольшой фрагмент класса OutputBox:
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_;
}
Я не совсем уверен, что это говорит мне тоже. Я предполагаю, что я неправильно использую класс.