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

10.03.2009, 21:35

Aufgabenstellung 6.10 (Verständnisfrage)

Hi

ich habe bei der Aufgabenstellung 6.10 ein Problem. Ich wollte zur Übung die Aufgabe gleich so lösen, dass ich die benötigten Funktionen in separate Dateien schreibe. Komischerweise kann ich das Programm dann aber nicht kompilieren. Hier mal der Code:

Datei: main.cpp

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
// Zeiger und Referenzen ueben

#include<iostream>
#include "spielerwerte.hpp"

using namespace std;

// Spielerstruktur

struct S_Spieler {

    int energie;
    int punkte;
    short team;



};

void berechnePunkte(S_Spieler *pSpieler, int bonus);

int main() {

    // initialisiere Spieler 1

    S_Spieler spieler1;
    spieler1.energie = 1000;
    spieler1.punkte = 0;
    spieler1.team = 1;

    // Bonus, der zu aktuellen Punkten addiert wird

    int bonus = 550;

    cout<<spieler1.punkte<<endl;

    berechnePunkte(&spieler1, bonus);

    cout<<spieler1.punkte<<endl;


    return 0;

}


Datei: spielerwerte.cpp

C-/C++-Quelltext

1
2
3
4
5
6
7
8
9
10
11
#include<iostream>
#include "spielerwerte.hpp"

using namespace std;

void berechnePunkte(S_Spieler *pSpieler, int bonus) {

    *pSpieler->punkte += bonus;


}


Datei: spielerwerte.hpp

C-/C++-Quelltext

1
void berechnePunkte(S_Spieler *pSpieler, int bonus);


Bisher habe ich also wie man sieht nur eine einzige Funktion in einer separaten Datei erstellt. Der Compiler gibt aber eine ganze Reihe von Fehlermeldungen raus. Wenn ich die Funktion in der normalen main.cpp erstelle, klappt alles.

Weiß jemand woran das liegt?
Danke schonmal für Hilfe! :)

Gruß
Sechem

Das Gurke

Community-Fossil

Beiträge: 1 996

Wohnort: Pinneberg

Beruf: Schüler

  • Private Nachricht senden

3

10.03.2009, 21:40

Ach so...

und das war dann schon der Fehler? :?

4

10.03.2009, 21:43

Zitat von »"Sechem"«

Ach so...

und das war dann schon der Fehler? :?


Ja, das war der Fehler :D

Habs grade geändert und kompiliert, jetzt klappt es.

Eigentlich logisch.

Danke für deine Hilfe!

Das Gurke

Community-Fossil

Beiträge: 1 996

Wohnort: Pinneberg

Beruf: Schüler

  • Private Nachricht senden

5

10.03.2009, 21:44

Nicht ganz, *pSpieler->punkte += bonus; ist auch nicht unbedingt eine gute Idee ;) Aber ich hab nur überflogen.

Und mach dir am besten nochmal klar wofür Header und wofür Cpp Dateien sind, also den Unterschied zwischen Definition und Implementierung.

6

10.03.2009, 21:46

Ja, das mit dem *pSpieler hab ich (bzw. der Compiler) dann auch noch gemerkt und jetzt geändert.

:)

Werbeanzeige