class'-Typ-Neudefinition' Error

Ouglin

Grünschnabel
Hallo,

ich bin neu in der C++ Welt und habe leider gleich ein grosses Problem. Ich versuche schon fertige Teile einzubinden und mache dies in der StdAfx.h. Da ich wenn ich die nur hier einbinde einen Error erhalte, habe ich die include Anweisungen nochmal in die StdAfx.cpp reingeschrieben , jetzt geht es soweit, bis auf den einen Error, dass angeblich eine Klasse neu definiert wird. Ich habe in der Hilfe von Visual C++ gesucht und der Fehler der dort beschrieben wird ist es nicht, den habe ich überprüft (von wegen class c{ ... int c() ... und so). Alle anderen include Anweisungen in den einzelnen Dateinen habe ich auskommentiert. Es sind also nur die Stdfx.h bzw. ...cpp mit ihnen ausgestattet.

Vielen Dank
Ouglin
 
moin


Wie du selbst geschrieben hast, hast du die doppelt eingebunden, und das ist auch das Problem.


mfg
umbrasaxum
 
HI,

wenn ich die include ´s aber in der stdafx.cpp kommentiere bbekomme ich mehrfach nichtdeklarierter Bezeichner Error und unerwartetes Dateiende.

Gruß
Ouglin
 
Hi,
was?

Ich glaube die ganzen Sourcedateien hier zu posten ist ein bissl zu viel, da es 6 oder 7 ziehmlich lange Dateien sind. Ich fange mal mit der stdafx.h an.

Code:
// stdafx.h : Include-Datei für Standard-System-Include-Dateien,
//  oder projektspezifische Include-Dateien, die häufig benutzt, aber
//      in unregelmäßigen Abständen geändert werden.
//

#if !defined(AFX_STDAFX_H__0FC625CD_3925_43A7_838A_D58998AD2233__INCLUDED_)
#define AFX_STDAFX_H__0FC625CD_3925_43A7_838A_D58998AD2233__INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000

#define WIN32_LEAN_AND_MEAN		// Selten benutzte Teile der Windows-Header nicht einbinden

#include <stdio.h>
#include "communication/constants.h"
#include "communication/communication.h"
#include "visualisation/vislib.h"


	// ZU ERLEDIGEN: Verweisen Sie hier auf zusätzliche Header-Dateien, die Ihr Programm benötigt

	//{{AFX_INSERT_LOCATION}}
	// Microsoft Visual C++ fügt zusätzliche Deklarationen unmittelbar vor der vorherigen Zeile ein.
#endif

 // !defined(AFX_STDAFX_H__0FC625CD_3925_43A7_838A_D58998AD2233__INCLUDED_)

Wie du siehst, sind die communication.h , constants.h und vislib.h die schon vorhandenen Header. Dazu gibt es natürlich auch *.cpp Dateien.
Zusätzlich habe ich noch eine ClientModul.cpp bekommen, in der sich eine void ClientMain befindet.
Im prinzip soll mir über die ganze sache eine Schnittstelle zur Kommunikation und eine zur Visualisierung bereitgestellt werden. Und ich soll dazu einen Logarithmus schreiben.

Gruß
Ouglin
 
Zurück