Несовместимые квалификаторы cv в методе родительского класса

Я работаю с C ++ и gtkmm, пытаясь создать собственный класс, который вызывает файл .glade для создания довольно простого интерфейса Gtk. Этот класс является производным от Gtk::WindowОднако, когда я называю get_widget Метод на самом классе, я получаю ошибку:

types ‘const T_Widget*’ and ‘myClass* const’ have incompatible cv-qualifiers

Определение класса:

class myClass: public Gtk::Window{

public:
myClass();

protected:
//...
Glib::RefPtr<Gtk::Builder> builder;
//...

}

Однако я пытаюсь загрузить данные из файла glade в мой класс (на конструкторе класса):

//...
builder = Gtk::Builder::create_from_file("../glade/myClass.glade");
builder->get_widget("window1",this);
//...

0

Решение

myClass* const это не то же самое, что const myClass*,
В первом указатель является постоянным, а во втором — объектом.
Просто объявите это как: const myClass*

Но ваша проблема кажется не связанной (моя проблема), у GTK есть специальная функция для производного класса:
Gtk :: Builder :: get_widget_derived,
используйте это вместо

1

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

Других решений пока нет …

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