Hello! C'est pas trop mon genre de poser des questions, je prefer me débrouiller mais la, je vois
vraiment pas ce qui merde dans mon code, donc j'espère que vous pourez m'aider...
Voilà le code qui foire: (j'utilise la librairie Qt)
#ifndef CLIENT
#define CLIENT
#include <QtGui>
#include <QtNetwork>
#include "Ds2fen.h"
#include "Comm.h"
#include "Chatwid.h"
#include "Packet.h"
#include "Client.h"
#include <QTcpSocket>
#include <QStandardItem>
#include <QDataStream>
class Client : public QStandardItem, public QObject
{
Q_OBJECT
public:
Client(QTcpSocket *cli, Comm *par);
public slots:
void inComing();
void send(Packet pac);
signals:
void fullPacket(Packet *pac);
private:
QTcpSocket *clientSocket;
Comm *parent;
QDataStream in_out(clientSocket);
quint16 messLength;
};
#endif
et il me sort comme erreur:
Client.h:22: error: `Comm' has not been declared
Client.h:22: error: ISO C++ forbids declaration of `par' with no type
Client.h:27: error: variable or field `send' declared void
Client.h:27: error: expected `;' before '(' token
Client.h:30: error: variable or field `fullPacket' declared void
Client.h:30: error: expected `;' before '(' token
Client.h:34: error: ISO C++ forbids declaration of `Comm' with no type
Client.h:34: error: expected `;' before '*' token
Client.h:35: error: expected `;' before '(' token
Merci d'avance!

1ère remarque:
Il faudrait simplifier le code.
Pourquoi déclarer un "#include <Comm.h>" dans le fichier "comm.h" ? Inutile même si normalement cela ne devrait pas entraîner une erreur.
Pourquoi déclarer:
- #include "Ds2fen.h"
- #include "Chatwid.h"
- #include "Packet.h"
- #include "Client.h"
A quoi cela sert-il ?
Bien sûr on peut déclarer des includes qui ne servent à rien, mais cela rallonge le temps de compilation.
2ème remarque:
Je suis perplexe en analysant les erreurs de compilation.
- "Client.h:22: error: `Comm' has not been declared"
Ligne 22: bon à 2 ou 3 lignes près, c'est correct.
- "Client.h:27: error: variable or field `send' declared void"
Je ne trouve pas de 'send' même à 2 ou 3 lignes près.
Je m'arrête et je me demande s'il n'y aurait pas un fichier parasite de même nom "comm.h" ou alors il y a appel à un autre include qui utilise la classe "Comm" mais sans appel à "Comm.h".
A suivre.