On 19/08/2012 00:46, Arbol One wrote: > Using Gtkmm - 2.22 on Win7 with MinGW. > > > > > > Well, this is what I have done so far, based on what I understand from the > libsigc++ tutorial, what am I doing wrong? > > > > class myEntry : virtual public Gtk::VBox { > > private: > > Gtk::Entry* ntrTest; > > Gtk::Label* lblTest; > > > > public: > > sigc::signal<void> signal_detected; // gcc complains, if it is private?? This is the signal you're attempting to connect to. It's sigc::signal<void>, meaning that the function signature for slots that you are connecting to it should be void func(). However, the function you are connecting to it returns a bool, as can be seen below: As for gcc complaining if it is private, that is because non-friend classes cannot access private members of a class. You were attempting to connect to myEntry::signal_detected (a private member) from within runner::runner(). > [...] > > bool runner::warn_people() { > > std::cout << "Warning people" << std::endl; > > return false; > > } > > [...] > > runner::runner() { > > btnhb = Gtk::manage(new Gtk::HBox); > > vb = Gtk::manage(new Gtk::VBox); > > mentry = Gtk::manage(new jme::myEntry); > > ////////// >> compile time error !! > > mentry->signal_detected.connect( sigc::mem_fun(*this, &runner::warn_people) ); > [..] -- Kind regards, Loong Jin
Attachment:
signature.asc
Description: OpenPGP digital signature