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

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

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

Я создаю это:

buffer->create();

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

 buffer->set_text("somethings");

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

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

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

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

0

Решение

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

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

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

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

Glib::RefPtr<Gsv::Buffer> buffer = Gsv::Buffer::create();
0

Другие решения


По вопросам рекламы [email protected]