Qu'est-ce que cela signifie?
bool readXMLInteger(xmlNodePtr node, const char* tag, int& value);
8 Réponses :
Cela signifie que, à un moment donné, votre code actuel est en train de relire dans le flux de compilation, il semble donc deux tentatives de définition (par opposition à la déclaration) de la fonction. P>
suspectez quelque chose sur la façon dont vous configurez les déclarations de préprocesseur. P>
Cela signifie que la fonction est implémentée ailleurs dans votre code. P>
Peut-être avez-vous déjà trouvé la solution, mais pour moi la reconstruction de la solution. p>
J'ai déplacé ma mise en œuvre à partir du fichier d'en-tête vers le fichier .cpp code> et le fichier .pch code> avait déjà cette information. Donc, je devais reconstruire pour résoudre cette erreur. P>
Avez-vous utilisé des gardes inclus dans votre fichier d'en-tête d'origine?
Par exemple: P>
#ifndef _TOOLS_H_ #define _TOOLS_H_ ... your header body is here ... #endif
Ce qui suit ne répond pas à votre question, mais j'ai eu le même problème avec une cause différente. Cette réponse est uniquement pour l'enregistrement. P>
Certaines personnes ont un très mauvais style d'ajout de code au fichier d'en-tête, ce qui entraîne des déclarations de constructeur tels que Suppression de ces définitions en les modifiant en déclarations réelles par exemple. cmyclass () {} code> qui est déjà considéré comme une définition et non seulement une déclaration (oui , même s'il est situé dans le fichier d'en-tête) p>
cmyclass (); code> résoudra ce type de problème particulier. P>
Aussi, vérifiez si vous avez effectué une copie du fichier (.CXX ou .CPP Extension) dans le même répertoire. Donc, la fonction sera définie deux fois.
J'avais l'erreur d'erreur pour les fonctions statiques! p>
Écoutez, cela va sembler stupide, mais pour quelqu'un d'autre qui en va de l'autre, assurez-vous de ne pas essayer accidentellement et d'inclure accidentellement le fichier CPP à la place de l'en-tête (clic droit Fichier, Copier le chemin complet, Coller, il se produit. ...) p>
continué à regarder sur cette extension de fichier pendant un moment p>
Vous obtenez cette erreur car le fichier d'en-tête est appelé plusieurs fois à partir d'autres endroits. Insérer #pragma une fois code> en haut de votre fichier d'en-tête.
Il convient de jeter un coup d'œil à votre toutes références et de trouver des appels en double. Ou vous avez des broces bouclées (disons, vides;)) Dans votre définition d'en-tête. P>
Assurez-vous que vous envisagez la même copie du fichier que le compilateur est (par exemple un chemin différent, des modifications non sauvegardées, etc.)
Bienvenue dans le débordement de la pile! Le code que vous avez posté ci-dessus a l'air bien, alors je soupçonne que l'erreur est causée par autre chose. Recherchez les erreurs communes suivantes - êtes-vous
#include code> ing du fichier .cpp à la fin du fichier d'en-tête? Avez-vous fait une construction propre dans l'intervalle? Avez-vous plusieurs fichiers .CPP#include code> ing les uns les autres? N'importe lequel de ces (ou quelque chose de totalement différent) pourrait être en faute ici, mais sans plus d'informations, je ne pense pas pouvoir aider.