salut,
je débute en C++ et j'ai pas bien compris l'héritage de classe.
Je vois ce que c'est pour en faire souvent en php, mais en c j'ai des petit problème.
j'essaye d'étendre cetet classe :
dont le constructeur est :http://qt.developpez.com/doc/latest/qdockwidget.html
voici mon entete :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 QDockWidget ( const QString & title, QWidget * parent = 0, Qt::WindowFlags flags = 0 ) QDockWidget ( QWidget * parent = 0, Qt::WindowFlags flags = 0 )et ma classe :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 #ifndef DOCKEXPLORER_H_INCLUDED #define DOCKEXPLORER_H_INCLUDED #include <QtGui/QDockWidget> #include <QtGui/QWidget> #include <QtCore/QString> class DockExplorer : public QDockWidget { public: //DockExplorer(const QString &title, QWidget *parent = 0); DockExplorer(const QString &title, QWidget *parent = 0); }; #endif // DOCKEXPLORER_H_INCLUDEDça se résume au strict minimum, mais en théorie ma classe DockExplorer je devrais hérité de toutes les méthode de QDockWidget et donc avoir le même comportement.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 #include "DockExplorer.h" DockExplorer::DockExplorer(const QString &title, QWidget *parent = 0):QDockWidget(&title,parent) { //setWindowTitle(trUtf8("Exploreur")) }
mais j'ai une erreur de compilation et je comprends pas ! Si ce n'est que j'ai du raté un truc sur le tuto d'héritage entre class!
euh voici l'erreur de compilation :g++ -c -pipe -O2 -Wall -W -D_REENTRANT -DQT_NO_DEBUG -DQT_GUI_LIB -DQT_CORE_LIB -DQT_SHARED -I/usr/local/Trolltech/Qt-4.4.0/mkspecs/linux-g++ -I. -I/usr/local/Trolltech/Qt-4.4.0/include/QtCore -I/usr/local/Trolltech/Qt-4.4.0/include/QtCore -I/usr/local/Trolltech/Qt-4.4.0/include/QtGui -I/usr/local/Trolltech/Qt-4.4.0/include/QtGui -I/usr/local/Trolltech/Qt-4.4.0/include -I. -I. -I. -o DockExplorer.o DockExplorer.cpp
DockExplorer.cpp:3: erreur: default argument given for parameter 2 of «DockExplorer:ockExplorer(const QString&, QWidget*)»
DockExplorer.h:12: erreur: after previous specification in «DockExplorer:ockExplorer(const QString&, QWidget*)»
DockExplorer.cpp: In constructor «DockExplorer:ockExplorer(const QString&, QWidget*)»:
DockExplorer.cpp:3: erreur: no matching function for call to «QDockWidget::QDockWidget(const QString*, QWidget*&)»
/usr/local/Trolltech/Qt-4.4.0/include/QtGui/qdockwidget.h:130: note: candidats sont: QDockWidget::QDockWidget(const QDockWidget&)
/usr/local/Trolltech/Qt-4.4.0/include/QtGui/qdockwidget.h:75: note: QDockWidget::QDockWidget(QWidget*, Qt::WindowFlags)
/usr/local/Trolltech/Qt-4.4.0/include/QtGui/qdockwidget.h:74: note: QDockWidget::QDockWidget(const QString&, QWidget*, Qt::WindowFlags)
make: *** [DockExplorer.o] Erreur 1
Partager