Gsv:: ошибка буфера
В моем проекте на C++ я хочу использовать буфер Gsv:: из библиотеки GTKsourceview. Я объявляю свой буфер следующим образом:
Glib::RefPtr<Gsv::Buffer> buffer;
Я создаю это:
buffer->create();
Но когда я хочу использовать некоторую унаследованную функцию от Gtk::buffer:
buffer->set_text("somethings");
Исполняемый файл выхода и возврата:
Ошибка сегментации (ядро сброшено)
В чем проблема?
Спасибо за вашу помощь
1 ответ
Решение
Вы создаете указатель, но на самом деле вы нигде не указываете его. По сути, buffer
пустой указатель
Из RefPtr
ссылка на конструктор по умолчанию:
После этого он будет нулевым и использование
->
вызовет ошибку сегментации.
Вы должны явно создать объект, на который указывает static
Gsv::Buffer::create
функция, например, например
Glib::RefPtr<Gsv::Buffer> buffer = Gsv::Buffer::create();