Hallo, ich habe, nachdem ich das Buch von David Scherfgen gelesen hatte, erstmal 'nen kleinen Pong Clone geproggt. Das war auch kein großes Problem.
Nun wollte ich als nächstes, kleines, einfaches Projekt "4 Gewinnt" programmieren.
Dabei bekomme ich jedoch eineige Compiler Fehler geliefert, wenn ich versuche ein Array einer Klasse zu erstellen:
|
C-/C++-Quelltext
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
class CGame;
class CToken
{
public:
// Variablen
BOOL m_bExists; // Existiert der Token?
CGame* m_pGame; // Zeiger auf die Spielklasse
tbVector3 m_vPosition; // Position
// Methoden
tbResult Move(float fTime); // Bewegen
tbResult Render(float fTime); // Rendern
// Konstruktor
inline CToken() {ZeroMemory(this, sizeof(CToken));}
};
|
|
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
|
class CGame
{
public:
// Variablen
char acText[256];
tbModel* m_pLevelModel; // Modell des Levels
tbModel* m_pTokenGreenModel; // Modell des Spielsteins Grün
tbModel* m_pTokenRedModel; // Modell des Spielsteins Rot
BOOL m_bPaused; // Ist das Spiel pausiert?
BOOL m_bGameOver; // Ist das Spiel vorbei?
int m_iLevel; // In welchem Level wir sind
float m_fLevelTime; // Zeit, die für den Level gebraucht wird
CToken m_aTokenGreen[21]; // Spielstein grün --- Hier krieg ich dann nen Fehler, siehe unten.
CToken m_aTokenRed[21]; // Spielsteine rot
int iToken;
// Konstruktor
inline CGame() {ZeroMemory(this, sizeof(CGame));}
// Methoden
tbResult Init(); // Initialisierung
tbResult Exit(); // Herunterfahren
tbResult Load(); // Laden
tbResult Unload(); // Entladen
tbResult Move(float fTime); // Bewegen
tbResult Render(float fTime); // Rendern
tbResult InitLevel(int iLevel); // Initialisiert einen Level
int CreateToken(tbVector3 vPosition, int player); // Erstellt einen Spielstein
};
|
Ich versuche also ein Array der CToken Klasse in CGame zu erstellen.
Die Fehler unter anderem sind:
\game.h(15) : error C2146: Syntaxfehler: Fehlendes ';' vor Bezeichner 'm_aTokenGreen'
\game.h(15) : error C4430: Fehlender Typspezifizierer - int wird angenommen. Hinweis: "default-int" wird von C++ nicht unterstützt.
Kann mir jemand sagen wie das zustande kommt? In meiner Hauptspielklasse habe ich natürlich alle header eingebunden.