父类方法中不兼容的cv限定符

时间:2014-03-20 14:22:27

标签: c++ class gtk gtkmm glade

我正在修改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);
//...

1 个答案:

答案 0 :(得分:1)

myClass* constconst myClass*不同。 在第一个指针是常量,在第二个指针是对象。 只需声明它:const myClass*

但你的问题似乎无关(我的不好),GTK对派生类有一个特殊的功能: Gtk::Builder::get_widget_derived, 请改用它。