gpt4 book ai didi

c++ - 调用 Gtkmm textBuffer->insert 时出现段错误

转载 作者:行者123 更新时间:2023-11-28 08:32:42 27 4
gpt4 key购买 nike

我只是在学习 c++ 的 gtkmm。我无法获取简单的 TextBuffer 来添加新的文本行。我有一个名为 OutputBox 的类,它是一个带有 TextViewer(称为消息)和 TextBuffer(称为 textBuffer)的 HBox。

这是 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_;
}

我也不太确定这是在告诉我什么。我假设我错误地使用了这个类。

最佳答案

我建议附加一个调试器以查看故障发生的位置。

如果它出现在 GTKmm 库中,那么您可能使用了 API 不正确。如果它出现在您的代码中,那么它将为您指明正确的方向

:)

关于c++ - 调用 Gtkmm textBuffer->insert 时出现段错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1145762/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com