Gå til innhold

Problemer med pekere i c++ :(


Anbefalte innlegg

Hei!

Vi lager et TowerDefence spill, og har noen problemer med pointers. Studassen mente det var bedre med dynamisk array (noe det såklart er), og anbefalte derfor Vector fra STL, og pointers. Han hjalp oss litt med pointers ettersom det ikke er vårt sterkeste område. Men nuh sitter vi fast igjen.

 

 

Global:

vector<Tower*> tower;

 

Funksjonen "setPath":

int setPath(Monster *monsters, int numberofmonsters, Tower *towers)
{ 
blablablabal ikke interresant.....
}

 

Problemet kommer når jeg kaller funksjonen i spillet:

Tower* tow = tower[0];
setPath(monsters, numberofmonsters, tow);

 

Det kommer da denne feilmeldingen:

122955.jpeg

 

Noen som vet hva som er galt her...?

Som sagt er jeg ikke ekspert på pekere...

Lenke til kommentar
Videoannonse
Annonse
Hvorfor har du pekere i arrayen? Den blir jo ikke noe mer dynamisk av det med mindre Tower er en superklasse og du skal lagre subklasser med virtuelle funksjoner som du vil kalle.

 

 

Alt jeg egentlig vil er å få en peker til tower i funksjonen setPath, fordi jeg skal bruke informasjonen i tower i setPath

Lenke til kommentar
Problemet kommer når jeg kaller funksjonen i spillet:

Tower* tow = tower[0];
setPath(monsters, numberofmonsters, tow);

 

Har du lagt til en peker til et objekt i tower vektoren da?

vector<Tower*> tower;

tower inneholder ingen pekere til Tower, før du legger de til.

(Variabelnavn: Du bruker her tower som navnet på et objekt som inneholder flere Tower. Kanskje det hadde blitt lettere å kalle den towers istedet for tower, slik så du har en viss oversikt over at det faktisk er en container, og ikke et enkelt Tower objekt i den. :) )

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...