Gsv::buffer 错误
Gsv::buffer error
在我的 c++ 项目中,我想使用来自 GTKsourceview 库的 Gsv::buffer。
我这样声明我的缓冲区:
Glib::RefPtr<Gsv::Buffer> buffer;
我创建它:
buffer->create();
但是当我想使用一些继承自 Gtk::buffer 的功能时:
buffer->set_text("somethings");
可执行文件退出并且return:
Erreur de segmentation (core dumped)
有什么问题?
感谢您的帮助
你创建了一个指针,但实际上并没有让它指向任何地方。本质上,buffer
是一个空指针。
来自 the RefPtr
default constructor refernece:
Afterwards it will be null and use of ->
will cause a segmentation fault.
您需要显式创建指向的对象,使用 static
Gsv::Buffer::create
函数,例如例如
Glib::RefPtr<Gsv::Buffer> buffer = Gsv::Buffer::create();
在我的 c++ 项目中,我想使用来自 GTKsourceview 库的 Gsv::buffer。 我这样声明我的缓冲区:
Glib::RefPtr<Gsv::Buffer> buffer;
我创建它:
buffer->create();
但是当我想使用一些继承自 Gtk::buffer 的功能时:
buffer->set_text("somethings");
可执行文件退出并且return:
Erreur de segmentation (core dumped)
有什么问题?
感谢您的帮助
你创建了一个指针,但实际上并没有让它指向任何地方。本质上,buffer
是一个空指针。
来自 the RefPtr
default constructor refernece:
Afterwards it will be null and use of
->
will cause a segmentation fault.
您需要显式创建指向的对象,使用 static
Gsv::Buffer::create
函数,例如例如
Glib::RefPtr<Gsv::Buffer> buffer = Gsv::Buffer::create();