[Gtkmm] Timer will nicht kompilieren
-
hab mir das Beispiele in der Doku angeschaut, brauche aber nur einen einzelnen Timer, das wollte ich folgendermaßen lösen:
sigc::slot<bool> my_slot= sigc::bind(sigc::mem_fun(*this,&MyWindow::on_timeout), 0); m_timer=Glib::signal_timeout().connect(& my_slot, 20);
verursacht aber
slot.h(103) : error C2440: 'return' : cannot convert from 'void' to 'bool' Expressions of type void cannot be converted to other types slot.h(100) : while compiling class template member function 'bool sigc::internal::slot_call0<T_functor,T_return>::call_it(sigc::internal::slot_rep *)'
Was is da los? In der slot.h von gtkmm will ich lieber mal nicht rumpfuschen
-
Hab jetzt das Beispiel eingefügt und es kommt genau der selbe Fehler...
-
void wenn schon.
-
??
??
statt
sigc::slot<bool>
sigc::slot<void>
oder was meinst du?
Ändert aber nichts.
-
deine funktion gibt vllt. void und nicht bool zurück
-
... Parameter hat gefehlt.
So gehts:sigc::slot<bool> my_slot=sigc::bind(sigc::mem_fun(*this,&MyWindow::on_timeout), delay); m_timer=Glib::signal_timeout().connect(my_slot, delay);
Und die dazugehörige on_timeout() Funktion:
bool MyWindow::on_timeout(int timer_number)