Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

1

02.12.2011, 11:54

C++ Fehlermeldung

Hallo,

ich bin gerade dabei, das Buch zu lesen. Dabei habe ich versucht, ein Beispielprogramm zu erstellen und in verschiedene Dateien aufzuteilen. Jedoch bekomme ich immer wieder den Fehler:

1>main.obj : error LNK2005: "public: static void __cdecl Test::printStartText(void)" (?printStartText@Test@@SAXXZ) ist bereits in de.obj definiert.
1>main.obj : error LNK2005: "public: static float Test::projekt_Version" (?Projekt_Version@Test@@2MA) ist bereits in de.obj definiert.

main.cpp

C-/C++-Quelltext

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <iostream>
#include <string>
#include "de.cpp"

using namespace std;

int main()
{
string sInputConsole;

Test::printStartText();

while (sInputConsole != "end")
{
cin >> sInputConsole;
}


system("PAUSE");
return 0;
}


main.hpp

C-/C++-Quelltext

1
2
3
4
5
6
class Test
{
public:
static float Projekt_Version;
static void printStartText();
};


de.cpp

C-/C++-Quelltext

1
2
3
4
5
6
7
8
9
10
11
12
13
#include <iostream>
#include "main.hpp"

using namespace std;

float Test::Projekt_Version = 1.0;

void Test::printStartText()
{
cout << "\t\t==============================" << endl;
cout << "\t\t\tVersion " << Projekt_Version << endl;
cout << "\t\t==============================" << endl << endl;
}


Wo liegt der Fehler? ?(

dot

Supermoderator

Beiträge: 9 757

Wohnort: Graz

  • Private Nachricht senden

2

02.12.2011, 12:01

Der Fehler ist, dass du de.cpp in main.cpp inkludierst.

ProAmateur

Alter Hase

Beiträge: 434

Wohnort: Bei Simmern, Koblenz

Beruf: Schüler

  • Private Nachricht senden

3

02.12.2011, 13:26

Du musst einfach in der Main cpp UND in der de.cpp die Main.hpp includen
"Die Neugier steht immer an erster Stelle eines Problems, das gelöst werden will."
Galileo Galilei
________________________________________________________________________

"Dumme Fragen gibt es nicht, dumm ist nur, wer nicht fragt.“

4

02.12.2011, 13:42

Danke, es klappt. :)

Werbeanzeige