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

Dofter

Treue Seele

Beiträge: 159

Wohnort: im wunderbaren EBERMANNSTADT

Beruf: Schüler^^

  • Private Nachricht senden

11

19.01.2009, 15:26

ich seh erstmal gar keinen []-operator, aber:
ich glaub dass es schon hier probleme gibt:

C-/C++-Quelltext

1
*pSpielfeld[X_Pos][Y_Pos]

das sollte doch ein dynamischer 2 dimensionaler array sein.
aber dann müsster in der definition auch ein zweidimensionales feld angelegt werden. Mit

C-/C++-Quelltext

1
C_Objekt *pSpielfeld; 
legtt du einen zeiger auf ein Objekt fest. was du machen willst ist, glaub ich, dass du ein x*y feld an zeigern hast. jenachdem wo sich der spieler gerade befindet soll das px, py - Feld auf den Spieler zeigen. Wenn dem so ist, musst du auch ein Feld an Zeigern erstellen. z.B.:

C-/C++-Quelltext

1
2
3
const int dimX = 10, dimY = 15;
C_Objekt *pSpielfeld[dimX][dimY];
 

und wenn du dann dem spielfeld den spieler zuweist heißt es:

C-/C++-Quelltext

1
pSpielfeld[X_Pos][Y_Pos] = pObjektliste[i];


ich hoffe ich hab dein PRoblem richtig verstanden, sonst musst noch etwas mehr erlären.
"Wo kämen wir hin, wenn alle sagten, wo kämen wir hin, und keiner ginge,
um zu sehen, wohin wir kämen, wenn wir gingen"

12

19.01.2009, 17:01

c:\users\flonk\projekte\aurora\main.cpp(127) : error C2440: '=': 'C_Objekt' kann nicht in 'C_Objekt *' konvertiert werden
1> Kein benutzerdefinierter Konvertierungsoperator verfügbar, der diese Konvertierung durchführen kann, oder der Operator kann nicht aufgerufen werden
:?
Gewinnen ist, wenn man einmal mehr aufsteht, als man zu Boden geht.

13

19.01.2009, 17:03

Ich glaube, er meint schon ein dynamisches Array von CObject-Instanzen auf dem Heap, auf das dann mit nem entsprechenden Pointer vewiesen wird...
@Dofter: wenn du mit [] auf elemente eines Arrays zugreifst, musst du nicht noch zusätzlich dereferenzieren. Bsp:

C-/C++-Quelltext

1
2
char StackArray[256]; //Array auf dem Stack

char* HeapArray; HeapArray = new char[256]; //Array auf dem Heap

sowohl StackArray als auch HeapArray haben den Typ char*, sowohl StackArray[0] als auch HeapArray[0] haben den Typ char, der Unterschied ist lediglich die art der Speicherreservierung, und dementsprechend die möglichkeit, das HeapArray eine beliebige Größe annehmen kann, wogegen die von StackArray bereits im Quellcode festgelegt sein muss.

David_pb

Community-Fossil

Beiträge: 3 886

Beruf: 3D Graphics Programmer

  • Private Nachricht senden

14

19.01.2009, 17:11

[klugscheiß]Eigentlich muss es heißen array mit "auto storage" Klasse[/klugscheiß]

15

19.01.2009, 17:14

Zitat von »"David_pb"«

[klugscheiß]Eigentlich muss es heißen array mit "auto storage" Klasse[/klugscheiß]

[zurückscheiß]Klasse???
wo siehst du da ne Klasse? das array selbst ist keine, und für das Prinzip ists vollkommen wurscht, was für ne sorte elemente das array hat, und bei meinem Beispiel ists n elementarer Datentyp, also keine Klasse[/zurückscheiß]
manchmal ist es ganz nützlich, das C++ nicht vollständig objektorientiert ist :lol:

David_pb

Community-Fossil

Beiträge: 3 886

Beruf: 3D Graphics Programmer

  • Private Nachricht senden

16

19.01.2009, 17:52

Zitat von »"PCShadow"«

Zitat von »"David_pb"«

[klugscheiß]Eigentlich muss es heißen array mit "auto storage" Klasse[/klugscheiß]

[zurückscheiß]Klasse???
wo siehst du da ne Klasse?


C-/C++-Quelltext

1
char StackArray[256]; //Array auf dem Stack 


Impliziert

C-/C++-Quelltext

1
auto char StackArray[256]; //Array auf dem Stack 


Da seh ich die "auto storage class". :p

17

19.01.2009, 18:22

achso, klasse im sinne einer Speicher-klassifizierung
dann hättest du aber sagen sollen "array mit "auto"-Speicherklassifizierung", den daas Speicher in english innerhalb der Anführungszeichen und das Klasse außerhalb ist very misleading
//EDIT: sehr irreführend, ich les zu viele Englishe sachen in letzter Zeit

David_pb

Community-Fossil

Beiträge: 3 886

Beruf: 3D Graphics Programmer

  • Private Nachricht senden

18

19.01.2009, 18:26

Ich finde es garnicht irreführend! :) Aber jetzt verstehen wir uns ja! :P

19

29.01.2009, 20:20

War die antwort schon da und ich hab sie übersehen oder war sie noch nicht da?
Gewinnen ist, wenn man einmal mehr aufsteht, als man zu Boden geht.

20

29.01.2009, 20:41

Zitat von »"Flonk"«

War die antwort schon da und ich hab sie übersehen oder war sie noch nicht da?

die erste möglichkeit aus K-Bals Post schon probiert?

Werbeanzeige