Re: Object copying



2010/9/10 Jonathon Jongsma <jonathon quotidian org>:
> 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;
}
-----------------------------

What's wrong ???

Glus


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]