|
| 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
| |
|
|