Jeg er lige ved at blive sindsyg over et lille pointerproblem.
Jeg har en pointer til TColor (fra BCB 6), den er privat medlemsfunktion. Når jeg giver den noget at referer til gennem en set-metode ser det umiddebart ud til at gå fint. Men når jeg hiver den ud vha get-metode peger den på adressen FFFFFFFF hvilket selvfølgelig giver acces-violation. Klassen manipulerer ikke selv med den.
Så jeg spørger, kan 'et eller andet' pille ved pointeren selvom den er privat?
int HarBorn() { int Index=0; if (Barn.GetAntalBrugte()>0) { Barn.First(); Index = (*Barn.GetThis()); if (Index > 0) return Index; else return false; } return 0; } void SetFarve(TColor* Farve) { this->Farve = Farve; } TColor * GetFarve() { return Farve; }
string Navn; int Vardi; bool Tegn; int Foralder; double Procent; DynArray<int> Barn; private: TColor *Farve ; };
Det er temmelig simpelt, det er det der irriterer mig...
Jeg har testet i debuggeren at der ikke kommer nogle sindsyge værdier ind, som f.eks FFFFFFFF, men når jeg bruger getmetoden kommer den ud og giver access violation
Aaah for fanden da også: Farve == NULL; hvorfor fanden så jeg ikke det, nu har jeg stirret mig blind på den fejl i 2 dage... Tak for hjælpen, ligger du ikke lige et svar?
nej, den siger intet, den plejer ellers at advare om den mindste detalje...
Hvorfor prøver du at undgå point?
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.