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

BlackSnake

Community-Fossil

  • »BlackSnake« ist der Autor dieses Themas

Beiträge: 1 549

Beruf: Student

  • Private Nachricht senden

1

12.05.2006, 13:31

Fehler bei CBall apBall[16]

hi ich habe ein problem was ich irgendwie nicht glöst bekomme.

und zwar wenn ich in der header game.h datei des erstn spiels

C-/C++-Quelltext

1
CBall  apBall[16]

rein schreibe kommt:

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
Game.cpp
i:\c++\tribase\include\dshowbaseclasses\wxutil.h(195) : warning C4312: 'type cast' : conversion from 'LONG' to 'PVOID' of greater size
i:\c++\tribase\include\tbGUI.h(288) : warning C4267: '=' : conversion from 'size_t' to 'int', possible loss of data
i:\c++\eigene sachen\flash\flash\Game.h(50) : error C2146: syntax error : missing ';' before identifier 'apBall'
i:\c++\eigene sachen\flash\flash\Game.h(50) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
i:\c++\eigene sachen\flash\flash\Game.h(50) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
Ball.cpp
i:\c++\tribase\include\dshowbaseclasses\wxutil.h(195) : warning C4312: 'type cast' : conversion from 'LONG' to 'PVOID' of greater size
i:\c++\tribase\include\tbGUI.h(288) : warning C4267: '=' : conversion from 'size_t' to 'int', possible loss of data
i:\c++\eigene sachen\flash\flash\Game.h(50) : error C2146: syntax error : missing ';' before identifier 'apBall'
i:\c++\eigene sachen\flash\flash\Game.h(50) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
i:\c++\eigene sachen\flash\flash\Game.h(50) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
MainMenu.cpp
i:\c++\tribase\include\dshowbaseclasses\wxutil.h(195) : warning C4312: 'type cast' : conversion from 'LONG' to 'PVOID' of greater size
i:\c++\tribase\include\tbGUI.h(288) : warning C4267: '=' : conversion from 'size_t' to 'int', possible loss of data
i:\c++\eigene sachen\flash\flash\Game.h(50) : error C2146: syntax error : missing ';' before identifier 'apBall'
i:\c++\eigene sachen\flash\flash\Game.h(50) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
i:\c++\eigene sachen\flash\flash\Game.h(50) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
.\MainMenu.cpp(187) : warning C4244: '=' : conversion from 'double' to 'float', possible loss of data
.\MainMenu.cpp(188) : warning C4244: '=' : conversion from 'double' to 'float', possible loss of data
Intro.cpp
i:\c++\tribase\include\dshowbaseclasses\wxutil.h(195) : warning C4312: 'type cast' : conversion from 'LONG' to 'PVOID' of greater size
i:\c++\tribase\include\tbGUI.h(288) : warning C4267: '=' : conversion from 'size_t' to 'int', possible loss of data
i:\c++\eigene sachen\flash\flash\Game.h(50) : error C2146: syntax error : missing ';' before identifier 'apBall'
i:\c++\eigene sachen\flash\flash\Game.h(50) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
i:\c++\eigene sachen\flash\flash\Game.h(50) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
Flash.cpp
i:\c++\tribase\include\dshowbaseclasses\wxutil.h(195) : warning C4312: 'type cast' : conversion from 'LONG' to 'PVOID' of greater size
i:\c++\tribase\include\tbGUI.h(288) : warning C4267: '=' : conversion from 'size_t' to 'int', possible loss of data
i:\c++\eigene sachen\flash\flash\Game.h(50) : error C2146: syntax error : missing ';' before identifier 'apBall'
i:\c++\eigene sachen\flash\flash\Game.h(50) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
i:\c++\eigene sachen\flash\flash\Game.h(50) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int


aber wenn ich es rausnehme ist jegliche meldung oder fehler weg.

kann mir da einer weiter helfen??

thx

Lemming

Alter Hase

Beiträge: 550

Beruf: Schüler

  • Private Nachricht senden

2

12.05.2006, 14:33

ich denke die informationen reichen noch nicht unbedingt aus...

ich vermute du hast irgendwie nen header oder sowas vergessen.
an welcher stelle hast du diese zeile eingefügt???
wenn das im ersten spiel von dem buch ist (also Breakanoid), warum fügst du diese zeile ein. die bälle werden doch schon innerhalb der CGame als member angegeben.

außerdem wenn du einen array vom typ CGame erstellst, dann solltest du nicht den präfix 'ap' verwenden. das impliziert einen array von pointern also CGame*...
Es gibt Probleme, die kann man nicht lösen.
Für alles andere gibt es C++...

BlackSnake

Community-Fossil

  • »BlackSnake« ist der Autor dieses Themas

Beiträge: 1 549

Beruf: Student

  • Private Nachricht senden

3

12.05.2006, 19:27

ich erstelle ein array der klasse CBall.
und ich habe diesesen Code in der headdatei eingefügt

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
//***************************************************************

// Game - CAMERA-MODE

//***************************************************************

enum CameraMode
{
    BACK,
    TOP
};
//***************************************************************

// Game - LIGHT - MODE

//***************************************************************

enum LightMode
{
    CAMLIGHT,
    ENVLIGHT
};
//***************************************************************

// Game - KLASSE

//***************************************************************

class CGame
{
public:
    // Modelle

    tbModel*                m_pLevelModel;
    tbModel*                m_pPaddleModel;
    tbModel*                m_pBallModel;
    tbModel*                m_pBlock[4];

    // Variablen

    BOOL                    m_pPaused;
    int                     m_iScore;
    int                     m_iLevel;
    int                     m_iTriesLeft;
    tbVector3               m_vPaddleVel;
    tbVector3               m_vPaddlePos;

    // Camera

    CameraMode              m_eCamera;
    tbVector3               vCameraPos;
    tbVector3               vCameraLookAt;

    // Licht

    LightMode               m_eLight;

    // SkyBox

    tbSkyBox*               m_pSkyBox;              
    PDIRECT3DCUBETEXTURE9   m_pSkyBoxTex;           

    // Konstruktor

    inline CGame() {ZeroMemory(this, sizeof(CGame));}

    // Methoden

    tbResult Load();
    tbResult Unload();
    tbResult Init();
    tbResult Exit();
    tbResult Camera();
    tbResult Light();
    tbResult Move(float fTime);
    tbResult Render(float fTime);
    tbResult LevelInit(int iLevel);
};
//***************************************************************

//***************************************************************


hier wäre jetzt das CBall apBall[16] dirn
aber wenn ich das rein tue kommen die oben gezeigten fehlere

Lemming

Alter Hase

Beiträge: 550

Beruf: Schüler

  • Private Nachricht senden

4

12.05.2006, 20:58

ok...
meine vermutung ist immernoch, dass es an den headern liegt. da der header für die CBall klasse in der Game.h nicht eingebunden wird. CGame aber wissen muss, was ein CBall ist, solltest du entweder nen prototypen reinknallen oder mal überprüfen, ob du in jeder *.cpp auch daran gedacht hast bevor du Game.h includest auch Ball.h einzubinden

mehr fällt mir spontan auch nicht ein. aber ich hab auch grad nicht so viel zeit ;)
Es gibt Probleme, die kann man nicht lösen.
Für alles andere gibt es C++...

David Scherfgen

Administrator

Beiträge: 10 382

Wohnort: Hildesheim

Beruf: Wissenschaftlicher Mitarbeiter

  • Private Nachricht senden

5

13.05.2006, 08:16

Kann es sein, dass du das Semikolon hinter der Deklaration vom Ball-Array vergessen hast?

Lemming

Alter Hase

Beiträge: 550

Beruf: Schüler

  • Private Nachricht senden

6

13.05.2006, 12:29

David Scherfgen
hatte ich auch erst vermuted. aber der fehler

Zitat von »"Sein Compiler"«

i:\c++\eigene sachen\flash\flash\Game.h(50) : error C2146: syntax error : missing ';' before identifier 'apBall'
kommt normalerweise bei unbekannten typen...
Es gibt Probleme, die kann man nicht lösen.
Für alles andere gibt es C++...

BlackSnake

Community-Fossil

  • »BlackSnake« ist der Autor dieses Themas

Beiträge: 1 549

Beruf: Student

  • Private Nachricht senden

7

14.05.2006, 10:24

danke an allle.

ich werde makl schauen
wenn einem noch was einfällt kann er das ruhig schreiben ^^

haut rein

mfg

BlackSnake

Community-Fossil

  • »BlackSnake« ist der Autor dieses Themas

Beiträge: 1 549

Beruf: Student

  • Private Nachricht senden

8

14.05.2006, 10:36

danke an alle

ich habe jetzt den fehler
ich habe die header datein in der falschen reinfolge included
außerdem habe ich vergessen im Ball.h , CGame vorzudeklarieren

^^

mfg
Ghostrider

Werbeanzeige