ojb Skrevet 5. juli 2003 Del Skrevet 5. juli 2003 class aclass { public: int function(aclass &a); protected: int tabel[10]; int integer; }; int aclass::function(aclass &a) { if((*a).tabel[(*a).integer-1]<(*this).tabel[(*this).integer-1]) { return 1; } } Når jeg kompilerer dette får jeg bare følgende feilmeldinger: F:ProgramsVisual C++ 6.0MSDev98Biner.cpp(15) : error C2100: illegal indirection F:ProgramsVisual C++ 6.0MSDev98Biner.cpp(15) : error C2100: illegal indirection Som dere ser bruker jeg vc++ 6. Såvidt jeg husker er dette måten å bruke objekt pekere på: (*objektpeker).funksjon/var/objekt, eller husker jeg feil?? Medlemsfunksjonen må da ha tilgang på medlemene (variablene) til objektet... Har prøvd å fjerne thispekern, men det hjelper ikke. Er det noen som har noen idè om hva som kan være feil, ville jeg være takknemlig. PS. denne koden er bare for referanse. Jeg har bare gjort det slik for å isolere feilen. Lenke til kommentar
kjetil7 Skrevet 6. juli 2003 Del Skrevet 6. juli 2003 Funksjonen din skal/kan se slik ut: int aclass::function(aclass &a) { if(a.tabel[a.integer-1] < tabel[integer-1] ) { return 1; } return 0; //la til denne... alle veier må returnere en verdi } Du kan selvfølgelig føye til this foran tabel og integer hvis du ønsker det (slik som du gjorde i eksemplet ditt. Såvidt jeg husker er dette måten å bruke objekt pekere på: (*objektpeker).funksjon/var/objekt, eller husker jeg feil?? Problemet er bare at aclass &a ikke er noen peker, men en referanse. Det er ikke det samme. Hvis du ønsker å bruke en peker skriver du: aclass *a. Lenke til kommentar
ojb Skrevet 6. juli 2003 Forfatter Del Skrevet 6. juli 2003 Tusen takk, det var til mye hjelp. 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å