Bonjour tout le monde,
Je dois charger le contenu d'un fichier txt mais j'ai déjà un problème
Mon problème se situe dans cette méthode :
et le message d'erreur est le suivant :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 bool CTabFauxFreres::TraiterLigne(const CChargeurFichierTexte& Chargeur) { if (Chargeur.NombreChamps() == 7) Ajouter(CFauxFrere(Chargeur.Champs(0),Chargeur.Champs(1),Chargeur.Champs(2),Chargeur.Champs(3),Chargeur.Champs(4),Chargeur.Champs(5),Chargeur.Champs(6))); return true; }
La méthode TraiterLigne est appelée par cette méthode :error C2665: 'CFauxFrere::CFauxFrere' : none of the 3 overloads can convert parameter 1 from type 'const char *'
et je pense qu'elle reçoit les informations du constructeur par copie (je n'en suis pas sûr) :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 bool CTabFauxFreres::Charger(const char* NomFichier) { CChargeurFichierTexte Chargeur; return Chargeur.Charger(NomFichier,'\t',FctnTraiterLigne,this); }
Voici la déclaration de la fonction TraiterLigne dans le header file :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 CFauxFrere::CFauxFrere(const CFauxFrere& Source) :m_Code(Source.m_Code),m_Nom(Source.m_Nom),m_Nature(Source.m_Nature),m_Feminin(Source.m_Feminin),m_Pluriel(Source.m_Pluriel),m_Descriptif(Source.m_Descriptif),m_Definition(Source.m_Definition) { }
Edit : Je viens avec du nouveau :
Code : Sélectionner tout - Visualiser dans une fenêtre à part bool TraiterLigne(const CChargeurFichierTexte& Chargeur);
Si le paramètre 1 est bien m_Code de type short, j'ai alors mis :
Ajouter(CFauxFrere((short)atol(Chargeur.Champs(0))
le message d'erreur est donc maintenant :
Je pense que le paramètre est de type booléen, comment puis-je faire la même chose pour un booléen ?error C2665: 'CFauxFrere::CFauxFrere' : none of the 3 overloads can convert parameter 3 from type 'const char *'
Quand il parle de paramètre 1, s'est bien le champ 0 ?
Voilà, je vous remercie d'avance pour votre aide.
beegees
Partager