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

1

07.12.2009, 20:30

Problem Aufgabe 6.10

Hallo zusammen!
Ich hab Folgenden Code:

Quellcode

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
/*
 * main.cpp
 *
 *  Created on: 07.12.2009
 *      Author: mfischer
 */

#include <iostream>

using namespace std;

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

bool berechnePunkte (Spieler *pSpielerI, int Bonus);
void zeigeSpieler (const Spieler &SpielerTemp);
bool ladeLevel (const int level);

int main ()
{

    Spieler Spieler1;
    int level = 1;

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


    ladeLevel(level);
    zeigeSpieler(Spieler1);
    berechnePunkte(&Spieler1, 550);
    zeigeSpieler(Spieler1);
    return 0;
}

bool ladeLevel (const int level){
    cout << "Level " << level << " wurde geladen!" << endl;
    return true;
}

void zeigeSpieler (Spieler &SpielerTemp) {

    cout << "Daten des Spielers: " << endl;
    cout << "Energie: " << SpielerTemp.Energie << endl;
    cout << "Punkte: " << SpielerTemp.Punkte << endl;
    cout << "Team: " << SpielerTemp.Team << endl;
}

bool berechnePunkte (int *pSpielerI, int Bonus){
    cout << "Es gibt " << Bonus << " Bonuspunkte!" << endl;
    pSpielerI -> Punkte += Bonus;
    return true;
}

Und kriege die Fehlermeldung:

Quellcode

1
2
../main.cpp: In function 'bool berechnePunkte(int*, int)':
../main.cpp:55: error: request for member 'Punkte' in '* pSpielerI', which is of non-class type 'int'

Was mache ich falsch?
Ich hab sogar schon gefrustet den Lösungsvorschlag gelesen, aber da wird das irgendwie genauso gemacht. HILFE! :shock:
mfg malle

CBenni::O

1x Contest-Sieger

Beiträge: 1 145

Wohnort: Stuttgart

  • Private Nachricht senden

2

07.12.2009, 20:37

C-/C++-Quelltext

1
*pSpielerI += Bonus;


statt

C-/C++-Quelltext

1
pSpielerI->Punkte += Bonus;


pSpielerI ist keine Klasse, sondern nur ein Zeiger auf einen int!

mfg CBenni::O

EDIT: sry, andersherum,

C-/C++-Quelltext

1
2
3
4
5
bool berechnePunkte (Spieler *pSpielerI, int Bonus){ 
   cout << "Es gibt " << Bonus << " Bonuspunkte!" << endl; 
   pSpielerI -> Punkte += Bonus; 
   return true; 
}
Ein Mitglied der VEGeiCoUndGraSonMaWiGeS Bewegung.
42!
Aufräumen kann jeder, nur das Genie überblickt das Chaos!
Metal will never die!
1. Sppro Gamecontest - mein Beitrag

3

07.12.2009, 20:38

Sollte das

Zitat

bool berechnePunkte (int *pSpielerI, int Bonus){

nicht

C-/C++-Quelltext

1
 bool berechnePunkte ([b]Spieler*[/b] pSpielerI, int Bonus){

CBenni::O

1x Contest-Sieger

Beiträge: 1 145

Wohnort: Stuttgart

  • Private Nachricht senden

4

07.12.2009, 20:39

Ja, sry, hab ich zu spät bemerkt, wollte es schon editieren,

Asche auf mein Haupt :oops:

mfg CBenni::O
Ein Mitglied der VEGeiCoUndGraSonMaWiGeS Bewegung.
42!
Aufräumen kann jeder, nur das Genie überblickt das Chaos!
Metal will never die!
1. Sppro Gamecontest - mein Beitrag

5

07.12.2009, 20:39

Zitat von »"E122"«


C-/C++-Quelltext

1
 bool berechnePunkte ([b]Spieler*[/b] pSpielerI, int Bonus){

Ist da was schiefgegangen?
Metal ist keine Musik sondern eine Religion.

6

07.12.2009, 20:39

JA.

Werbeanzeige