Ableitung von gtkmm Label
-
Hallo,
ich bin blutiger C++ und Gtkmm-Anfänger. Ich kriege einfach keine abgeleitete Label-Klasse dargestellt, könnt ihr mir sagen, wo der Fehler ist. Mit der Fehler-Meldung kann ich leider nix anfangen.
src/guielements/Main.cpp: In function
int main(int, char**)': src/guielements/Main.cpp:14: error: no matching function for call to
Gtk::Frame::add(Label (&)())'
/usr/include/gtkmm-2.4/gtkmm/container.h:153: error: candidates are: virtual
void Gtk::Container::add(Gtk::Widget&)Und habe folgendes geschrieben:
#include <gtkmm.h> #include <gtkmm/box.h> #include <gtkmm/frame.h> #include "Label.h" int main(int argc, char *argv[]) { Gtk::Main kit(argc, argv); Gtk::Window window; Gtk::HBox hbox(false, 5); Gtk::Frame frame("Normal Frame"); Label::Label l(); window.add(hbox); frame.add(l); hbox.pack_start(frame, Gtk::PACK_SHRINK); // l.show(); // window.show_all_children(); frame.show(); hbox.show(); Gtk::Main::run(window); return 0; } // Label.cpp #include "Label.h" Label::Label(): Gtk::Label("Hello") { ; } Label::~Label() { // TODO: } //Label.h #ifndef LABEL_H_ #define LABEL_H_ #include <gtkmm/label.h> #include <string> class Label : public Gtk::Label { //Attention: Was ist mit Multiline-Label public: Label(); // Konstruktor ~Label(); // Dekonstruktor }; #endif /*LABEL_H_*/
-
Label::Label l();
Was machen die Klammern da
Dein Compiler denkt das wäre ne Funkitonsdeklaration...Mache es so:
Label l;
Das Laber:: brauchst du davor auch nicht.
Und IMO ist dein Code irgendwie "schrääg"
Das kann man was schöner machen, schau dir mal das gtkmm-Book an...