Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (ANSI-Standard) » Problem beim Deklarieren einer Instanz in anderer hpp Datei

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
16.12.2007, 10:05 Uhr
~DarkXs
Gast


Hi!
Ich habe folgendes Problem:
ich benutze Microsoft Visual C++ und ich hab in einer hpp Datei eine globale Struktur erstellt und habe davon in einer anderen hpp Datei eine Instanz erstellt. Die Dateien habe ich in die jeweils andere eingebunden.
wenn ich das ganze nun kompiliere, bekomme ich folgende Fehler:


Code:
error C2146: Syntaxfehler : Fehlendes ';' vor Bezeichner 'Kolo'
error C2501: 'S_Plani' : Fehlende Speicherklasse oder Typbezeichner
fatal error C1004: Unerwartetes Dateiende gefunden



die Struktur schaut wie folgt aus:


C++:
struct S_Plani
{
int Groesse;
int Gala;
int Sys;
int Pos;
int BebauteFelder;
int FreieFelder;
int MaxTemp;
int Anzahl;
char Name[20];
};

und der Anfang der anderen hpp:

#ifndef PLANIS_HPP
#define PLANIS_HPP

#include <iostream>
#include "Funktionen.hpp"

using namespace std;

S_Plani Kolo;

void KoloPlani ()
{
...
}

#endif PLANIS_HPP



Ich hoffe ihr könnt mir weiterhelfen!

MfG DarkXs

mod edit: BENUTZE DIE CPP TAGS SELBER :twisted:

Dieser Post wurde am 16.12.2007 um 15:46 Uhr von Pablo editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
16.12.2007, 10:35 Uhr
xXx
Devil


Sieht nach schlechtem Klassendesign aus, aber du musst den Header einbinden, in dem S_Plani deklariert ist.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
16.12.2007, 10:40 Uhr
Tommix




Zitat von ~DarkXs:
Die Dateien habe ich in die jeweils andere eingebunden.

Das wird wohl der Fehler sein, in Funktionen.hpp ist das #include "planis.hpp" zuviel.

Gruß, Tommix
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
16.12.2007, 11:13 Uhr
~DarkXs
Gast


wenn ich 'planis.hpp' nicht einbinde, dann bekomm ich aber über 70 fehler^^ also es werden in fast allen anderen dateien sachen nicht anerkannt und es gibt pch creation point fehler
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
16.12.2007, 16:37 Uhr
Tommix



Dann ist das Design tatsächlich grundsätzlich falsch (klasse 1 benutzt klasse 2, die klasse 1 benutzt, die wiederum klasse 2 benutzt...). Du müßtest mehr Code posten. Eventuell reicht schon, wenn Du die Deklaration von Kolo nach Funktionen.hpp verschiebst.
- Tommix
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
005
16.12.2007, 17:34 Uhr
~DarkXs
Gast


wenn ich die definition verschieb, dann habich auch über 100 fehler^^ naja ich werd mich mal dransetzen alles neuzuschreiben xD

trotzdem danke!
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
006
16.12.2007, 20:37 Uhr
FloSoft
Medialer Over-Flow
(Administrator)


neu zu schreiben? du meinst wohl SELBST zu schreiben
--
class God : public ChuckNorris { };
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
007
16.12.2007, 21:07 Uhr
0xdeadbeef
Gott
(Operator)


Variablen instantiiert im Header...das geht eh spätestens beim Linken schief.
--
Einfachheit ist Voraussetzung für Zuverlässigkeit.
-- Edsger Wybe Dijkstra
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ C / C++ (ANSI-Standard) ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: