/ Forside / Teknologi / Udvikling / C/C++ / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
C/C++
#NavnPoint
BertelBra.. 2425
pmbruun 695
Master_of.. 501
jdjespers.. 500
kyllekylle 500
Bech_bb 500
scootergr.. 300
gibson 300
molokyle 287
10  strarup 270
Pointere
Fra : Thomas Arildsen


Dato : 21-11-01 14:07

Jeg har skrevet et program i Windows, hvor jeg har to forskellige pointere
til det samme objekt. Hvis jeg forsøger at kalde en funktion i obkektet via
den først erlærede pointer, går det fint, men hvis jeg forsøger det samme
med den anden pointer, går programmet simpelthen ned. Er der en forklaring
på dette, og hvad skal man gøre for at omgå det?



 
 
Jesper Louis Anderse~ (21-11-2001)
Kommentar
Fra : Jesper Louis Anderse~


Dato : 21-11-01 16:31

On Wed, 21 Nov 2001 14:07:06 +0100, Thomas Arildsen <tari00@kom.auc.dk> wrote:
> Jeg har skrevet et program i Windows, hvor jeg har to forskellige pointere
> til det samme objekt. Hvis jeg forsøger at kalde en funktion i obkektet via
> den først erlærede pointer, går det fint, men hvis jeg forsøger det samme
> med den anden pointer, går programmet simpelthen ned. Er der en forklaring
> på dette, og hvad skal man gøre for at omgå det?

We need the code... Use the source, Luke...

--
Jesper

Mogens Hansen (21-11-2001)
Kommentar
Fra : Mogens Hansen


Dato : 21-11-01 18:13


"Thomas Arildsen" <tari00@kom.auc.dk> wrote in message
news:9tg8u4$eop$1@sunsite.dk...
> Jeg har skrevet et program i Windows, hvor jeg har to forskellige pointere
> til det samme objekt.

Hvad får dig til at tro at de peger på samme objekt ?

> Hvis jeg forsøger at kalde en funktion i obkektet via
> den først erlærede pointer, går det fint,

Hvad får dig til at tro at den første peger på et gyldigt objekt ?

> men hvis jeg forsøger det samme
> med den anden pointer, går programmet simpelthen ned. Er der en forklaring
> på dette, og hvad skal man gøre for at omgå det?
>

Forklaringen må være, at det ikke forholder sig som du beskriver.
Det mest sandsynlige er at den anden pointer ikke peger på det samme som den
første pointer.
Der er selvfølgelig også muligheden for at compileren genererer forkert
kode - men det er langt mindre sandsynligt end at der er en fejl i din kode.

Generelt er det en god ide at benytte værktøjer som f.eks. CodeGuard,
BoundsChecker eller Purify - især når man har problemer af den art som du
beskriver. Der kan nemt være flere fejl, som du blot ikke har set
konsekvensen af endnu.

Venlig hilsen

Mogens Hansen



Søg
Reklame
Statistik
Spørgsmål : 177558
Tips : 31968
Nyheder : 719565
Indlæg : 6408925
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste