Structure non reconnue pour la sérialisation
Bonjour et merci pour ce retour d'expérience toutefois je rencontre un problème à la compilation
Dans mon fichier serveur.h en private j'ai ajouté ma structure et la surcharge des opérateurs comme suit
Code:
1 2 3 4 5 6 7 8 9 10
| // Structure de fichier
struct StructureFichier {
quint16 typeDeMessage;
int tailleDuFichier;
QString signature_du_fichier;
QString nom_du_fichier;
};
friend QDataStream& operator << (QDataStream&, const StructureFichier&);
friend QDataStream& operator >> (QDataStream&, StructureFichier&); |
et dans serveur.ccp les deux fonctions
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
| //*******************************************************************************************
// Serialization de l'entete
//*******************************************************************************************
QDataStream &operator<<(QDataStream &streamOut, const StructureFichier &entete)
{
streamOut << (quint16)entete.typeDeMessage
<< (int)entete.tailleDuFichier
<< (QString)entete.signature_du_fichier
<< (QString)entete.nom_du_fichier;
return streamOut;
}
//*******************************************************************************************
// Deserialization de l'entete
//*******************************************************************************************
QDataStream &operator>>(QDataStream &streamIn, StructureFichier &entete)
{
streamIn >> (quint16)entete.typeDeMessage
>> (int)entete.tailleDuFichier
>> (QString)entete.signature_du_fichier
>> (QString)entete.nom_du_fichier;
return entete;
} |
mais la compilation me renvoi systématiquement :
Code:
1 2 3
| serveur.cpp:307: erreur : 'StructureFichier' does not name a type
serveur.cpp:307: erreur : ISO C++ forbids declaration of 'entete' with no type [-fpermissive]
serveur.cpp:-1: In function 'QDataStream& operator<<(QDataStream&, const int&)': |
si quelqu'un avait une petite idée
merci d'avance