Problème forward declaration
Bonjour,
je me suis remis au C++ après une longue periode de Java et je tombe vraiment de haut :waw:.
En effet avec les pointeurs, les références et variable 'classique' je mis perd mais la n'est pas le problème :p.
Pour faire simple, voici le code en question :
TabView.h :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44
| #ifndef TABVIEW_H
#define TABVIEW_H
#include "constantes.h"
#include "enfantsmanager.h"
#include "enfant.h"
namespace Ui {
class TabView;
}
class TabView : public QWidget
{
Q_OBJECT
public:
explicit TabView(QStandardItemModel* model, QStringList const& header, QWidget *parent = 0);
void addLine(QString header, QStringList entry);
~TabView();
signals:
void itemSelected(QModelIndex index, bool* cancel);
void itemChanged(QStandardItem* item, bool* cancel);
public slots:
virtual void on_itemSelected(QModelIndex index) = 0;
virtual void on_itemChanged(QStandardItem* item, bool* cancel) = 0;
private slots:
void on_itemChanged(QStandardItem* item);
void on_dataChanged(QModelIndex i1, QModelIndex i2);
protected:
Ui::TabView *ui;
int m_line;
QStandardItemModel *m_model;
QStringList m_vHeader;
private:
QList<QStringList*> m_viewData;
bool m_ignoreNextModify;
};
#endif // TABVIEW_H |
TabEnfants.h :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
| #ifndef TABENFANTS_H
#define TABENFANTS_H
#include "constantes.h"
#include "tabview.h"
class TabView;
class TabEnfants : public TabView {
Q_OBJECT
public:
TabEnfants(QStandardItemModel* model, QStringList const& header, QWidget *parent = 0);
static QString getNiveauTxt(int galop);
public slots:
virtual void on_itemSelected(QModelIndex index);
virtual void on_itemChanged(QStandardItem* item, bool* cancel);
};
#endif // TABENFANTS_H |
Les erreurs :
- invalid use of incomplete type 'class TabView'
- forward declaration of 'class TabView' (cette erreur disparais si j'enleve la ligne 7 de TabEnfants.h mais dans ce qu'a j'ai l'erreur "expected class-name before '{' token")
Merci d'avance pour votre aide :)