Gsv:: ошибка буфера

В моем проекте на C++ я хочу использовать буфер Gsv:: из библиотеки GTKsourceview. Я объявляю свой буфер следующим образом:

Glib::RefPtr<Gsv::Buffer> buffer;

Я создаю это:

buffer->create();

Но когда я хочу использовать некоторую унаследованную функцию от Gtk::buffer:

 buffer->set_text("somethings");

Исполняемый файл выхода и возврата:

Ошибка сегментации (ядро сброшено)

В чем проблема?

Спасибо за вашу помощь

1 ответ

Решение

Вы создаете указатель, но на самом деле вы нигде не указываете его. По сути, buffer пустой указатель

Из RefPtr ссылка на конструктор по умолчанию:

После этого он будет нулевым и использование -> вызовет ошибку сегментации.

Вы должны явно создать объект, на который указывает staticGsv::Buffer::create функция, например, например

Glib::RefPtr<Gsv::Buffer> buffer = Gsv::Buffer::create();
Другие вопросы по тегам