Hallo,
also mich würde mal interessieren wie das funktioniert.
ich bräuchte es z.b. bei klassen, die man ja eigentlich so erstellen sollte
class CClass *pClass = NULL;
pClass = new CClassx();
und jetzt möchte ich pClass einer funktion übergeben.
da kommen mir 2 ideen in den sinn:
-entweder man übergibt den pointer einfach so als wert sozusagen
ODER
-man übergibt die adresse vom pointer und richtet einen neuen drauf
variante 2 wäre imo sicherer, aber irgendwie funktioniert das nicht. vl weil man auf pointer keine pointer richten kann?
naja hier mal meine ansätze
function(*pClass);
void function (CClass *pClass)
{
}
<---- funktioniert nicht
ansatz 2
function(&pClass)
void function (CClass *pClass)
{
}
<---- geht auch nicht
also wie macht man denn sowas?
// ///////////////////////////////////////////////
und noch ne frage zu klassenarrays.
also im buch werden die so erstellt.
|
C-/C++-Quelltext
|
1
2
3
|
CClass *pXYZ = NULL;
pXYZ = new CClass[NumberOfPlayers] // ist jetzt nur ein Beispiel
delete []*pXYZ;
|
jedoch kommt es da bei mir zu merkwürdigen ergebnissen wenn ich ein klassenarray so kreiere, deswegen schaut das bei mir dezreit so aus.
*pXYZ[4]
delte *pXYZ[0];
delete *pXYZ[1];
etc....
hier noch der fehler der mit der oberen schreibweise auftritt.
|
C-/C++-Quelltext
|
1
2
3
4
5
|
// Auch nur ein Beispiel
for (unsigned short i = 0; i < i_NumberOfPlayers; i++)
{
pXYZ = new CClass[i];
}
|
wenn jetzt z.b. spieleranzahl 4 ist werden komischerweise 6 klassen erzeugt.
bei einem spieler 0, bei 3 spielern 3 und bei 2 spielern eine klasse.
ich versteh zwar nicht warum, aber es ist so
naja genug der viele worte, vl kann mir wer helfen.
mfg
Drac