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

drakon

Supermoderator

Beiträge: 6 513

Wohnort: Schweiz

Beruf: Entrepreneur

  • Private Nachricht senden

11

27.11.2008, 06:50

Ich sehe da nur Funktionsdeklarationen..

Ich glaube du hast da irgendwas falsch verstanden mit Zeiger..

Du muss noch irgendwo sowas haben:

C-/C++-Quelltext

1
2
3
4
int Highscore_Spieler1_Instance = 500;

int* Highscore_Spieler1 = &Higscore_Spieler1_Instance;
 

Errschaffer

Alter Hase

  • »Errschaffer« ist der Autor dieses Themas

Beiträge: 865

Wohnort: Frankfurt

  • Private Nachricht senden

12

27.11.2008, 07:23

Hab ich aber nicht. Und in Heikos Buch Funktioniert das auch wunderbar so.
Naja werds nacher mal anders machen.

drakon

Supermoderator

Beiträge: 6 513

Wohnort: Schweiz

Beruf: Entrepreneur

  • Private Nachricht senden

13

27.11.2008, 07:29

Zitat von »"Errschaffer"«

Hab ich aber nicht. Und in Heikos Buch Funktioniert das auch wunderbar so.
Naja werds nacher mal anders machen.


Ich habe dich gefragt, wo du Highscore_Spieler1 deklariert hast. Du hast uns lediglich die Funktion Spielrang gezeigt. Und dort drin sehe ich keine Deklaration..

Woher kommt der Zeiger. Das war meine Frage. Das hat auch schon David_pb in seinem ersten Post gefragt..

Du solltest einfach versuchen dein Problem klar und verständlich darzustellen und genau sagen, wo dein Problem ist. (immer mit dem Hintergedanken, dass wir nicht wissen können, wie dein Code aussieht und wo deine Variablen deklariert sind..)

Errschaffer

Alter Hase

  • »Errschaffer« ist der Autor dieses Themas

Beiträge: 865

Wohnort: Frankfurt

  • Private Nachricht senden

14

27.11.2008, 14:32

Habt ihr das Buch von Heiko?.In Listing 6.4 gibts ja auch keine Zeile wo
jetzt eine Ordentliche dekleration statt findet. Sondern es befindet sich legendlich in der main die Variable von der die Adresse gespeichert wird.
Der Rest wird über die Parameterliste gemacht.
Ist schwer zu erklären wenn man nicht das Buch von Heiko hat.
Falls nötig Tipp ich den Code halt mal hier ab.

Genauso wie das hab ich das auch gemacht.
Und wenn ich Funktionen mit Parameterliste in der Main aufrufe gehts ja auch. Nur nicht in anderen Funktionen.
Da sagt er halt immer das es die Zeiger doch gar net gibt.

Soll ich mal den Code hier rein schreiben von Heiko?

15

27.11.2008, 14:36

Das liegt daran, dass auch nur die mainmethode diesen Spieler deklariert hat. Die anderen Funktionen kennen Highscore_Spieler1 garnicht.

drakon

Supermoderator

Beiträge: 6 513

Wohnort: Schweiz

Beruf: Entrepreneur

  • Private Nachricht senden

16

27.11.2008, 14:41

Dann musst du das halt irgendwo übergeben.

Wir wollten wissen, wo die Daten herkommen..
Du musst ja, wenn du die Funktion aufrufst eine Adresse übergeben. Und genau das Objekt, wo die Adresse her hast interessiert uns..

Ist das soo schwer zu verstehen?!

Errschaffer

Alter Hase

  • »Errschaffer« ist der Autor dieses Themas

Beiträge: 865

Wohnort: Frankfurt

  • Private Nachricht senden

17

28.11.2008, 16:20

Aso das steht in der main.

C-/C++-Quelltext

1
2
3
4
5
6
7
8
9
10
11
int main ()
{





int Highscore_Spieler1=0;
int Highscore_Spieler2=0;
int Highscore_Pc=0;
int Auswahl=0;



Zitat von »"Genion"«

Das liegt daran, dass auch nur die mainmethode diesen Spieler deklariert hat. Die anderen Funktionen kennen Highscore_Spieler1 garnicht.

Heißt das ich muss jetzt erstmal die Zeiger an die Funktion Spielränge übergeben um dann von dort aus die Funktion Cheatkonsole aufzurufen?

18

28.11.2008, 20:11

Prinzipiell schon.

drakon

Supermoderator

Beiträge: 6 513

Wohnort: Schweiz

Beruf: Entrepreneur

  • Private Nachricht senden

19

29.11.2008, 03:23

Zitat

Heißt das ich muss jetzt erstmal die Zeiger an die Funktion Spielränge übergeben um dann von dort aus die Funktion Cheatkonsole aufzurufen?

Bist du sicher, dass du begriffen hast, wie Zeiger funktionieren?

Nur weil in einer Funktion ein Zeiger gleich heisst, wie das Objekt, auf das es zeigen soll, heisst es noch lange nicht, dass es das auch macht. Du kannst den Zeiger auch "aldskjfalkdsjfalskdjf" nennen. Mit einer Adresse, auf den er zeigen soll, musst du ihn dennoch.

Das habe ich ja bereits gesagt, dass du soetwas haben muss:

Zitat

C-/C++-Quelltext

1
2
3
int Highscore_Spieler1_Instance = 500;

int* Highscore_Spieler1 = &Higscore_Spieler1_Instance; 


Der zweite Teil ist ja das gleiche, wie an eine Funktion übergeben..

Werbeanzeige