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

  • »kleinerAnfänger« ist der Autor dieses Themas

Beiträge: 9

Wohnort: Confoederatio Helvetica

Beruf: Schüler

  • Private Nachricht senden

11

21.06.2005, 17:23

nee, geht nicht :crying:
naja, shit happens, dann werde ich es halt weiter probieren (oder das ganze Programm neu schreiben...)

Trotzdem vielen Dank!

kleinerAnfänger
Auch Wasser wird zum edlen Tropfen, mischt man es mit Malz und Hopfen!

koschka

Community-Fossil

Beiträge: 2 862

Wohnort: Dresden

Beruf: Student

  • Private Nachricht senden

12

21.06.2005, 17:45

Warum geht das nicht? Dein Fehler leigt defintiv NICHT in der Verion, ohne int als RückgabeTyp oder void.

Schau mal ob du in Funktion über Credits() einen Fehler mit nem komma drin hast! oder poste mal den Code um die Funktion Credits

bassdscho

Alter Hase

Beiträge: 1 056

Wohnort: Heuchlingen

Beruf: Student - Technische Informatik

  • Private Nachricht senden

13

21.06.2005, 23:18

oder hast du vielleicht sowas geschrieben:

C-/C++-Quelltext

1
int test = Credits();


ich glaube mich zu erinnern das das bei mir mal das Problem war.
Verlierer jammern immer von wegen ihr bestes!
Sieger gehen nach Hause und vögeln die Ballkönigin!

  • »kleinerAnfänger« ist der Autor dieses Themas

Beiträge: 9

Wohnort: Confoederatio Helvetica

Beruf: Schüler

  • Private Nachricht senden

14

22.06.2005, 13:13

Nein, was anderes war das Problem. Ich habe das Programm ziemlich verschachtelt aufgebaut, und irgendwie ist eine Klammer vergessen worden. Die Funktionen, die eigentlich ausserhalb des Hauptprogramms (also main-Funktion) waren, wurden somit noch in das Hauptprogramm hineingenommen. Als ich das behoben hatte, kam dieser Fehler nicht mehr...

Vielen Dank für die schnelle Hilfe
kleinerAnfänger
Auch Wasser wird zum edlen Tropfen, mischt man es mit Malz und Hopfen!

15

30.12.2005, 10:08

Hallo mal wieder :)

aehm irgendwie schein ich bischen probleme zu haben mit der übergabe von strukturen :) ich dachte zwar ich versteh das prinzip, aber naja die fehler zeigen mir, dass ichs noch ned kann^^

hier mal der code

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
/*  C++ für Spieleprogrammierer
    Listing 6.10
    Zeiger, Referenzen und Werte */

#include <iostream>

using namespace std;

//Prototypen


void LadeLevel(const int &Level);
void Spielerdaten(s_Spieler &Spieler1);
void BerechnePunkte(int *pPunkte, int Bonus);

//Hauptprogramm


int main ()
{
    //Strukturen

    struct s_Spieler
    {
        int Punkte;
        int Energie;
        int Team;
    };

    //Variablen

    int Bonus = 250;
    s_Spieler Spieler1;
    const int Level = 1;

    //Deklaration

    Spieler1.Energie = 1000;
    Spieler1.Punkte = 0;
    Spieler1.Team = 0;

    LadeLevel(Level);
    Spielerdaten(Spieler1);
    BerechnePunkte(&Spieler1.Punkte, Bonus);
    Spielerdaten (Spieler1);

    

    return 0;
}


//LadeLevel


void LadeLevel(const int &Level)
{
    cout << "Lade Level " << Level << endl;
}


//Spielerdaten

void Spielerdaten(s_Spieler &Spieler1)
{
    cout << "Daten des Spieler: " << endl;
    cout << "Energie: " << Spieler1.Energie << endl;
    cout << "Punkte: " << Spieler1.Punkte << endl;
    cout << "Team: " << Spieler1.Team << endl;
}

//BerechnePunkte

void BerechnePunkte(int *pPunkte, int Bonus)
{
    *pPunkte += Bonus;
}


dazu folgende fehler:

Zitat

C:\Programme\Spieleprogrammierung\Simon\Listing 6_7\Listing 6_7.cpp(12) : error C2065: 's_Spieler' : nichtdeklarierter Bezeichner
C:\Programme\Spieleprogrammierung\Simon\Listing 6_7\Listing 6_7.cpp(12) : error C2065: 'Spieler1' : nichtdeklarierter Bezeichner
C:\Programme\Spieleprogrammierung\Simon\Listing 6_7\Listing 6_7.cpp(12) : error C2182: 'Spielerdaten' : Ungueltige Verwendung des Typs 'void'
C:\Programme\Spieleprogrammierung\Simon\Listing 6_7\Listing 6_7.cpp(38) : error C2064: Ausdruck ergibt keine Funktion
C:\Programme\Spieleprogrammierung\Simon\Listing 6_7\Listing 6_7.cpp(40) : error C2064: Ausdruck ergibt keine Funktion
C:\Programme\Spieleprogrammierung\Simon\Listing 6_7\Listing 6_7.cpp(58) : error C2448: '<unbekannt>' : Funktionsstil-Initialisierung scheint eine Funktionsdefinition zu sein
Fehler beim Ausführen von cl.exe.

Listing 6_7.exe - 6 Fehler, 0 Warnung(en)


kann mir da bitte mal wer helfen, weil ich dachte es müsste funktionieren :)

ich übergeb die spielerdaten als referenz und geb sie in der funktion aus, aber das scheint ned zu klappen :(


hm komisch wenn ich die struktur global mache funktionierts:

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
/*  C++ für Spieleprogrammierer
    Listing 6.10
    Zeiger, Referenzen und Werte */

#include <iostream>

using namespace std;

//Strukturen

struct s_Spieler
{
    int Punkte;
    int Energie;
    int Team;
};
//Prototypen


void LadeLevel(const int &Level);
void Spielerdaten(s_Spieler &Spieler1);
void BerechnePunkte(int *pPunkte, int Bonus);

//Hauptprogramm


int main ()
{


    //Variablen

    int Bonus = 250;
    s_Spieler Spieler1;
    const int Level = 1;

    //Deklaration

    Spieler1.Energie = 1000;
    Spieler1.Punkte = 0;
    Spieler1.Team = 1;

    LadeLevel(Level);
    Spielerdaten(Spieler1);
    BerechnePunkte(&Spieler1.Punkte, Bonus);
    Spielerdaten (Spieler1);

    

    return 0;
}


//LadeLevel


void LadeLevel(const int &Level)
{
    cout << "Lade Level " << Level << endl;
}


//Spielerdaten

void Spielerdaten(s_Spieler &Spieler1)
{
    cout << "Daten des Spieler: " << endl;
    cout << "Energie: " << Spieler1.Energie << endl;
    cout << "Punkte: " << Spieler1.Punkte << endl;
    cout << "Team: " << Spieler1.Team << endl;
}

//BerechnePunkte

void BerechnePunkte(int *pPunkte, int Bonus)
{
    *pPunkte += Bonus;
}


warum funktionierts global und lokal nicht?

__stdcall*

Treue Seele

Beiträge: 101

Wohnort: Dauchingen

Beruf: Schüler

  • Private Nachricht senden

16

30.12.2005, 10:40

Hi,

da Du ja die Prototypen VOR der Struktur definierst, findet der Compiler sie nicht. Wenn du die Struktur aber Global machst definierst Du sie ÜBER den Prototypen deswegen kann der Compiler sie hier finden und beschwert sich nicht ;) .

Musst auf den Beitrag von nix da warten er erklärt dir das RICHTIG sachlich ;).

Hoffentlich hat Dir mein Beitrag geholfen.

__stdall*
[ICQ: 194-584-442 | MSN: nos4_9@hotmail.de | X-Fire: shadowstalker45]

17

30.12.2005, 10:59

jo danke erstmal ;)

ist das aber dann nur so bei strukturen oder?, weil wenn ich in den prototypen pointer, integer, chars oder andere variablen verwende meckert der ja nicht^^.

naja ich warte mal auf die antwort von nix^^

danke nochmals :)

18

30.12.2005, 11:12

hmm nein, es ist nicht nur so bei strukturen...

wenn de bsp.

C-/C++-Quelltext

1
2
3
4
5
6
7
void AutoPutmachen(CAuto* pAuto);

// CAuto Klasse vom CObject abgeleitet

class CAuto : public CObject
{
    void AutoTesten(void);
}

Da wirst de auch nen Problem bekommen :D
Da kannst de dann aber folgendes machen:

C-/C++-Quelltext

1
2
3
4
5
6
7
8
9
class CAuto;

void AutoPutmachen(CAuto* pAuto);

// CAuto Klasse vom CObject abgeleitet

class CAuto : public CObject
{
    void AutoTesten(void);
}
Devil Entertainment :: Your education is our inspiration
Der Spieleprogrammierer :: Community Magazin
Merlin - A Legend awakes :: You are a dedicated C++ (DirectX) programmer and you have ability to work in a team? Contact us!
Siedler II.5 RttR :: The old settlers-style is comming back!

Also known as (D)Evil

__stdcall*

Treue Seele

Beiträge: 101

Wohnort: Dauchingen

Beruf: Schüler

  • Private Nachricht senden

19

30.12.2005, 11:30

Jup das nennt sich dann "Forward Declaration"
[ICQ: 194-584-442 | MSN: nos4_9@hotmail.de | X-Fire: shadowstalker45]

Werbeanzeige