Frage : „eine oder mehrere mehrfach definierten Symbole fanden“ Störung innen GEGEN C++ 2010

Dieses, das ich an stundenlang bearbeitet habe und nicht herausfinden kann. Ich verursachte eine Methode innerhalb eines Paares benannter namespaces Formatdatum:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
#ifndef MXF_DATE_HPP
#define MXF_DATE_HPP

namespace mxf
{
	namespace-Datum
	{
		Geschlechtskrankheit:: Schnur formatDate (Geschlechtskrankheit:: Schnur formatStr)
		{
			…
		}
	}
}

#endif


When, das ich mxf: versuche und benenne: Datum:: formatDate („… "); innerhalb der Hauptleitung halte ich, diese Störung zu erhalten:
1:
2:
3:
4:
5:
6:
7:
int Hauptleitung (int argc, char* argv [])
{
	a aufreihen;
	a = mxf:: Datum:: formatDate („… ");

	Rückkehr 0;
}
das 


I morgens jemand hoffend kann mir erklären, warum ich diese Störung erhalte. Ich muss versucht haben 100 verschiedene Sachen einschließlich die Umbenennung der Funktion und das namespace umbenennen und ein namespace, ein etc.

Thanks entfernen für die Hilfe!

Dan

Antwort : „eine oder mehrere mehrfach definierten Symbole fanden“ Störung innen GEGEN C++ 2010

Obgleich ich in der Lage war, das Problem zu reproduzieren, indem ich eins Ihrer Grundprinzipien - „ich verletzte, verifyed immer wieder, dass das hpp nur einmal eingeschlossen ist“. Ich kenne aus Erfahrung, dass Überschriften eine Weise von unerwartet sich einschleichen haben. Sie erwähnten nicht, ob Sie Überschriftabhängigkeiten überprüften, damit sein konnte eine Ausgabe. Durch jede mögliche Wahrscheinlichkeit ist die Akte, die Ihre Überschrift auch eine Include-Datei miteinschließt; und wenn ja, dann wird diese Include-Datei in den mehrfachen Positionen benannt?

Die Lösung für mich war, die formatDate Funktion in der Überschrift zu erklären und den Körper auf seine eigene .cpp Akte zu verschieben. (Sie können sie einer vorhandenen .cpp Akte hinzufügen, wenn Sie. wünschen) Ich denke, dass Sie dies tun sollten, um zu sehen, was geschieht.

Die Störung sagt, dass formatDate im Sandkasten definiert wird. Wenn Sandbox.cpp ist, gab die Akte, die die Hauptleitung () diese Sie hat, dann kein Problem bekannt. Wenn nicht, dann sehen Sie formatDate dort?

1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
//-Include-Datei - verbessert
namespace mxf
{
	namespace-Datum
	{
		Geschlechtskrankheit:: Schnur formatDate (Geschlechtskrankheit:: Schnur formatStr);
	}
}

neue Akte //-mxf_date.cpp - hinzugefügt Projekt
#include  
#include „mxf_date.h“
Geschlechtskrankheit:: Schnur mxf:: Datum:: formatDate (Geschlechtskrankheit:: Schnur formatStr)
{
	„ABC“ zurückbringen;
}
Weitere Lösungen  
 
programming4us programming4us