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

Das Gurke

Community-Fossil

  • »Das Gurke« ist der Autor dieses Themas

Beiträge: 1 996

Wohnort: Pinneberg

Beruf: Schüler

  • Private Nachricht senden

1

23.07.2006, 17:48

[Kompilieren] syntax error : identifier 'LEVEL'

Ich fühl mich total bescheuert, aber nachdem mich dieses )"(§("/§( Problem nun schon seit zwei Tagen von weiteren Schritten abhält ...

Ich hab eine Struktur definiert, das sieht dann so aus:

C-/C++-Quelltext

1
2
3
4
5
6
7
8
9
typedef struct LEVEL_
{
    int      iSize;
    std::string sName;
    std::string sArea;
    std::string sLoc;
    std::string sCreator;
    char        cDef;
}LEVEL;
Diese ist definiert in einer Datei namens Level.h und wird auch ohne Beanstandungen kompiliert und von anderen Methoden verwendet. Nun hab ich eine neue Klasse geschrieben die diese Struktur ebenfalls kennen muss. Das sieht dann in etwa so aus:

C-/C++-Quelltext

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#ifndef MANAGE_H
#define MANAGE_H

#pragma once

#include <Windows.h>
#include <string>
#include <vector>

#include "Level.h"

class Manage
{

    public:
        static  Manage* getInst(void);

        int     addLevelOpen(std::string sLevelName);   // Ein Level laden

        int     addLevelNew(LEVEL *tempConf);           // Ein neues Level erstellen


};
#endif

Nur krieg ich beim kompilieren aller Dateien die diesen Header einbinden den Fehler

C-/C++-Quelltext

1
Manage.h(22) : error C2061: syntax error : identifier 'LEVEL'


Verdammt, was hab ich übersehen?

Anonymous

unregistriert

2

23.07.2006, 17:52

Mh, ich sehe da jetzt keine Fehler. Vielleicht Kannst du ja mal die ganze Datei
posten, wo die Levelstruktur drin ist? Könnte hilfreich sein...

Das Gurke

Community-Fossil

  • »Das Gurke« ist der Autor dieses Themas

Beiträge: 1 996

Wohnort: Pinneberg

Beruf: Schüler

  • Private Nachricht senden

3

23.07.2006, 17:57

C-/C++-Quelltext

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
#ifndef LEVEL_H
#define LEVEL_H

#pragma once

#include <Windows.h>
#include <direct.h>
#include <string>
#include <fstream>
#include <vector>

#include "LUA.h"
#include "Main_defs.h"
#include "Area.h"
#include "Global.h"
#include "Manage.h"

typedef struct FIELD_
{
    int     iID;
    char    cType;
}FIELD;

typedef struct LEVEL_
{
    int         iSize;
    std::string sName;
    std::string sArea;
    std::string sLoc;
    std::string sCreator;
    char        cDef;
}LEVEL;

class Level
{
    public:
        Level(std::string sName);
        
        void setState(int iX, int iY, char cState);
        void saveFile(void);
        
        int  openFile(void);
        int  openNew(LEVEL *newLevel);  // Config übertragen wäre nice


    private:
        int  parseDefs();       // Teil der openFile Methode

        int  parseQuads();      // Teil der openFile Methode

        int  parseLua();        // Teil der openFile Methode


        int  createDefs(); 
        int  createQuads();
        int  createLua();

        int  saveDefs();        // Teil der SaveToFile Methode

        int  saveQuads();       // Teil der SaveToFile Method


        int  checkExistance();  // Existiert das Level überhaupt?


        void updateLocation();
    
    public:
        LEVEL       *Level_;
        Area    *LevelArea_;
        
    private:
        std::vector < std::vector <FIELD> > vQuads_;

        char cBuffer[256];      // Wann immer wir mal einen brauchen ...


    friend class Render;        // Die Renderklasse braucht vollen Zugriff auf die Leveldaten

    friend class Area;      // Genauso der Grafikloader

};

#endif

Beliah

Treue Seele

Beiträge: 115

Wohnort: Söhlde - LK Hildesheim

Beruf: FI-Anwendungsentwicklung

  • Private Nachricht senden

4

23.07.2006, 18:23

Zitat von »"Das Gurke"«

C-/C++-Quelltext

1
2
3
4
5
6
7
8
#ifndef LEVEL_H
#define LEVEL_H

#pragma once 
[...]
#include "Manage.h"
[...]
#endif


C-/C++-Quelltext

1
2
3
4
5
6
7
8
#ifndef MANAGE_H
#define MANAGE_H

#pragma once

#include "Level.h"
[...]
#endif




Fällt dir was auf? :roll:
Debuggers don't remove bugs, they only show them in slow motion.

Google Suche ohne Werbung und Cookies: Scroogle

Derzeitige(s) Freizeitprojekt(e)

Anonymous

unregistriert

5

23.07.2006, 18:25

Zitat von »"Beliah"«


Fällt dir was auf? :roll:


Gibts dafür nicht den Header Guard??? Oo

EDIT: Achne sorry :p Denkfehler...

EDIT2: Oder doch? Oh man Leute ich glaub ich muss mich mal entwirren
gehen :roll:

Das Gurke

Community-Fossil

  • »Das Gurke« ist der Autor dieses Themas

Beiträge: 1 996

Wohnort: Pinneberg

Beruf: Schüler

  • Private Nachricht senden

6

23.07.2006, 18:28

Zitat von »"DarkRaider"«

Zitat von »"Beliah"«


Fällt dir was auf? :roll:


Gibts dafür nicht den Header Guard??? Oo

EDIT: Achne sorry :p Denkfehler...

EDIT2: Oder doch? Oh man Leute ich glaub ich muss mich mal entwirren
gehen :roll:


EXAKT so ging mir das auch ...

Beliah

Treue Seele

Beiträge: 115

Wohnort: Söhlde - LK Hildesheim

Beruf: FI-Anwendungsentwicklung

  • Private Nachricht senden

7

23.07.2006, 18:30

Zitat von »"DarkRaider"«


[...]

EDIT2: Oder doch? Oh man Leute ich glaub ich muss mich mal entwirren
gehen :roll:


Erhlich gesagt bin ich auch gerade dadurch verwirrt das ich mir darüber Gedanken gemacht habe wieso das passiert und mir dann nichts eingefallen ist...

[EDIT]
Ich habs aber eben mal getestet und das ist tatsächlich so :D
Debuggers don't remove bugs, they only show them in slow motion.

Google Suche ohne Werbung und Cookies: Scroogle

Derzeitige(s) Freizeitprojekt(e)

8

23.07.2006, 18:34

versuch mal in der manage.h das #include level.h wegzulassen, n prototyp der struktur hinschreiben
(ging das wie bei klassen?: einfach struct LEVEL; hinschreiben)
und erst in der manage.cpp #include "level.h"

Anonymous

unregistriert

9

23.07.2006, 18:35

Jaaaa Entwirrung war erfolgreich, gerade durch deinen Post Beliah, danke! :D

Das Gurke

Community-Fossil

  • »Das Gurke« ist der Autor dieses Themas

Beiträge: 1 996

Wohnort: Pinneberg

Beruf: Schüler

  • Private Nachricht senden

10

23.07.2006, 18:37

Zitat von »"WarMuuh!!"«

versuch mal in der manage.h das #include level.h wegzulassen, n prototyp der struktur hinschreiben
(ging das wie bei klassen?: einfach struct LEVEL; hinschreiben)
und erst in der manage.cpp #include "level.h"
Naja, dann rutsch in die Story ja andersrum rein ... Schätze ich sollte mir abgewöhnen Header in Header zu includieren. Ich geh die mal ebend ALLE in die CPPs schieben -.-

Werbeanzeige