Hvordan Cast funksjonspekere

Hvordan Cast funksjonspekere


Funksjonspekere er oftest brukt ved lasting en Dynamic Link Library (DLL). Når opplisting en DLL-funksjoner, mottar et program en peker til den funksjonen den ønsker å ringe. Å kalle en funksjon pekeren første må være type støpt til en funksjon prototype, som beskriver input og output variabler. Dette sikrer at den som ringer passerer de riktige typer av variable til funksjonen, og at resultatet av funksjon, om noen, er også tilpasset en riktig variabel type.

Bruksanvisning

1 Åpne prosjektet løsningen i Visual Studio 2010.

2 Naviger til linjen med kode der funksjonspeker er å være type cast.

3 Sørg for at funksjonen prototype for pekeren er riktig. En funksjon som aksepterer et heltall som sitt eneste argument ville bli definert som: "typedef ugyldig myfunc (int);".

4 Opprett en ny variabel for å lagre pekeren å bli typecast inn som defineres av funksjon prototype. Hvis funksjonen ble kalt "myfunc," variabelen definisjon ville være "myfunc myVariableName."

5 Typen støpt funksjonen pekeren ved å gjøre den nye variabelen lik den funksjon prototype navnet innpakket i avrundet parentes fulgt av funksjonspeker. Type-avstøpning en funksjon peker til en funksjon prototype kalt "myfunc" ville bli skrevet som: "myVariableName = (myfunc) myFunctionPointer;"

6 Ring pekeren ved hjelp av variabel det var typen kastet til med hensyn til dets funksjon prototype.

Hint

  • Ringe en peker som ikke refererer til en faktisk funksjon beliggenhet i minnet, vil resultere i en programfeil.