Question : « un ou plusieurs multiplient » l'erreur trouvée par symboles définie dedans CONTRE C++ 2010

Celui-ci que j'avais travaillé dessus pendant des heures et ne peux pas figurer dehors. J'ai créé une méthode à l'intérieur d'une paire de namespaces appelés date de format : class= " lineNumbers " >
1 de >
#ifndef " de


When de
") ; à l'intérieur de la force je continue à obtenir cette erreur : class= >stdafx.obj " cité » du
uct DST : : char_traits, class DST : : mxf d'allocator > de __cdecl : : date : : formatDate (classe DST : : basic_stringuct DST : : char_traits, class DST : : allocator >) » (? formatDate@date@mxf@@YA ? AV ? $basic_string@DU ? $char_traits@D@std@@V ? $allocator@D@2@@std@@V34@@Z) déjà défini dans les documents de Sandbox.obj
C:\Documents and Settings\Owner\My \ studio visuel 2010 \ projets \ f \ Sandbox.exe : erreur bloquante LNK1169 : un ou plusieurs multiplient des symboles définis que found


I verifyed maintes et maintes fois que le hpp est inclus seulement une fois et qu'il n'y a aucune fonction pareillement appelée. Voici ma force () : class= " lineNumbers " >
1 de >
int de " prettyprint " de class= de l'id= " codeSnippet788202 " de >


I AM de

Thanks pour l'aide !

Dan
class= de

Réponse : « un ou plusieurs multiplient » l'erreur trouvée par symboles définie dedans CONTRE C++ 2010

Bien que j'aie pu reproduire le problème en violant un de vos principes de base - « je verifyed maintes et maintes fois que le hpp est inclus seulement une fois ». Je sais de l'expérience que les en-têtes ont une manière de s'introduire inopinément. Vous n'avez pas mentionné si vous avez vérifié des dépendances d'en-tête, de sorte qu'ait pu être une issue. Par n'importe quelle chance, est le dossier qui inclut votre en-tête également un dossier d'en-tête ; et si oui, alors ce dossier d'en-tête s'appelle-t-il dans des endroits multiples ?

La solution pour moi était de déclarer la fonction de formatDate dans l'en-tête et de déplacer le corps à son propre dossier de .cpp. (Vous pouvez l'ajouter à un dossier existant de .cpp si vous souhaitez.) Je pense que vous devriez faire ceci pour voir ce qui se produit.

L'erreur indique que le formatDate est défini dans le bac à sable. Si Sandbox.cpp est le dossier qui a la force () cette vous a signalé, puis aucun problème. Sinon, alors voyez-vous le formatDate là ?

1 :
2 :
3 :
4 :
5 :
6 :
7 :
8 :
9 :
10 :
11 :
12 :
13 :
14 :
15 :
16 :
dossier d'en-tête de // - révisé
mxf de namespace
{
	date de namespace
	{
		DST : : formatDate de corde (DST : : formatStr de corde) ;
	}
}

nouveau dossier de // mxf_date.cpp - supplémentaire au projet
#include  
#include « mxf_date.h »
DST : : mxf de corde : : date : : formatDate (DST : : formatStr de corde)
{
	renvoyer le « ABC » ;
}
Autres solutions  
  •  MS Excel 2007 et pdf - l'exportation vers le pdf prend de longues heures !
  •  Dans le Perl, comment j'ajoute une valeur à la liste, puis le contrôle pour voir si la valeur existent avant d'ajouter une nouvelle valeur
  •  Comment fais j'initialiser de la HP BL460c G6 de san et de la HP XP 240000
  •  Comment fais j'employer une clef de permis de volume sur un ordinateur de HP avec du CD de restauration
  •  Emplacement primaire de deux SCCM dans l'annuaire actif
  •  L'initiateur et la HP D2D de l'iSCSI R2 du serveur 2008 de Windows GERCENT l'issue
  •  Stocker le dossier dans le mysql using connector.net et le champ de goutte
  •  Carte vidéo d'USB - bit 32 sur le matériel travaillant au niveau du bit 64 ?
  •  asp.net que j'essaye de convertir une forme de HTML en forme d'aspx ou ? ce qui jamais. Aide du besoin sur la façon dont à à elle.
  •  Winzip 12 issues de secours du travail ?
  •  
    programming4us programming4us