proggie Skrevet 18. november 2007 Del Skrevet 18. november 2007 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: Noen som vet hva som er galt her...? Som sagt er jeg ikke ekspert på pekere... Lenke til kommentar
Dead_Rabbit Skrevet 18. november 2007 Del Skrevet 18. november 2007 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. Lenke til kommentar
proggie Skrevet 18. november 2007 Forfatter Del Skrevet 18. november 2007 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
Roptaty Skrevet 18. november 2007 Del Skrevet 18. november 2007 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
Anbefalte innlegg
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 kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå