On Fri, 2010-09-10 at 19:50 +0200, Glus Xof wrote: > 2010/9/10 Jonathon Jongsma <[email protected]>: > > On Fri, 2010-09-10 at 19:02 +0200, Glus Xof wrote: > >> Hi all, > >> > >> After trying to make the copy of an object, I get the following message: > >> > >> --------------------------------------------------------------------------------------------------------------------------------------------------------------------- > >> In file included from ./groups.h:8, > >> from groups.cc:1: > >> /usr/local/include/gtkmm-2.4/gtkmm/treemodelcolumn.h: In member > >> function ‘User::KeyModelColumns& > >> User::KeyModelColumns::operator=(const User::KeyModelColumns&)’: > >> /usr/local/include/gtkmm-2.4/gtkmm/treemodelcolumn.h:92: error: > >> ‘Gtk::TreeModelColumnRecord& > >> Gtk::TreeModelColumnRecord::operator=(const > >> Gtk::TreeModelColumnRecord&)’ is private > >> ././user.h:148: error: within this context > >> ././user.h: In member function ‘User& User::operator=(const User&)’: > >> ././user.h:16: note: synthesized method ‘User::KeyModelColumns& > >> User::KeyModelColumns::operator=(const User::KeyModelColumns&)’ first > >> required here > >> /usr/local/include/gtkmm-2.4/gtkmm/comboboxtext.h:49: error: > >> ‘Gtk::ComboBoxText& Gtk::ComboBoxText::operator=(const > >> Gtk::ComboBoxText&)’ is private > >> ././user.h:16: error: within this context > >> /usr/local/include/gtkmm-2.4/gtkmm/comboboxtext.h:49: error: > >> ‘Gtk::ComboBoxText& Gtk::ComboBoxText::operator=(const > >> Gtk::ComboBoxText&)’ is private > >> ././user.h:16: error: within this context > >> /usr/local/include/gtkmm-2.4/gtkmm/entry.h:122: error: ‘Gtk::Entry& > >> Gtk::Entry::operator=(const Gtk::Entry&)’ is private > >> ././user.h:16: error: within this context > >> /usr/local/include/gtkmm-2.4/gtkmm/button.h:80: error: ‘Gtk::Button& > >> Gtk::Button::operator=(const Gtk::Button&)’ is private > >> ././user.h:16: error: within this context > >> /usr/local/include/gtkmm-2.4/gtkmm/treeview.h:199: error: > >> ‘Gtk::TreeView& Gtk::TreeView::operator=(const Gtk::TreeView&)’ is > >> private > >> ././user.h:16: error: within this context > >> /usr/local/include/gtkmm-2.4/gtkmm/table.h:193: error: ‘Gtk::Table& > >> Gtk::Table::operator=(const Gtk::Table&)’ is private > >> ././user.h:16: error: within this context > >> /usr/local/include/gtkmm-2.4/gtkmm/menu.h:77: error: ‘Gtk::Menu& > >> Gtk::Menu::operator=(const Gtk::Menu&)’ is private > >> ././user.h:16: error: within this context > >> groups.cc: In member function ‘void Groups::set_user_object(const User&)’: > >> groups.cc:113: note: synthesized method ‘User& User::operator=(const > >> User&)’ first required here > >> --------------------------------------------------------------------------------------------------------------------------------------------------------------------- > >> > >> What's happen ??? > > > > The object is not copyable. you'll need to pass it by reference > > (pointer, reference) rather than by value. > > In a certain manner, it's what I do. I try to pass the object by > reference to a new one, and once inside, trying copying to make it > visible for all class methods... > > -------------- > class Groups > { > public: > void set_user_object (const User &); > [...] > private: > User user; > [...] > }; > > void Groups::set_user_object (const User & myuser) > { > user = myuser;
This is creating a copy. As I said, the object is not copyable. So you cannot do that. You need to store a reference to the object instead. jonner _______________________________________________ gtkmm-list mailing list [email protected] http://mail.gnome.org/mailman/listinfo/gtkmm-list
