|
| funktions pointer Fra : Jens Cortsen |
Dato : 26-09-02 16:16 |
|
Hej
Jeg har et problem med at lave en array med funktions pointer.
Har funktions definitioner.
double f1(double x,double y);
double f2(double x,double y);
Pointer def.
double (*ptr1)(double x, double y)
double (*ptr2)(double x, double y)
Tildeling af pointer
ptr = f1;
ptr = f2;
Men hvordan definere jeg en array indeholdende funktions pointerne, samt
hvordan fås der adgang til en funktion.?
Hilsen Jens
| |
Morten F. Hansen (26-09-2002)
| Kommentar Fra : Morten F. Hansen |
Dato : 26-09-02 16:38 |
|
> Jeg har et problem med at lave en array med funktions pointer.
> Men hvordan definere jeg en array indeholdende funktions pointerne, samt
> hvordan fås der adgang til en funktion.?
typedef double function_type(double, double);
double f1(double x, double y)
{
return x + y;
}
double f2(double x, double y)
{
return x * y;
}
....
function_type *function_array[2];
function_array[0] = f1;
function_array[1] = f2;
printf("f1 = %0.2f\n", function_array[0](5, 5));
printf("f2 = %0.2f\n", function_array[1](5, 5));
| |
Igor V. Rafienko (26-09-2002)
| Kommentar Fra : Igor V. Rafienko |
Dato : 26-09-02 17:27 |
|
[ Jens Cortsen ]
[ ... ]
> Men hvordan definere jeg en array indeholdende funktions pointerne,
> samt hvordan fås der adgang til en funktion.?
Man leser van der Linden's bok (som jeg har reklamert for utallelige
ganger før) og man bruker cdecl:
cdecl> declare foo as array of pointer to function ( double, double )
cdecl> returning double
double (*foo[])(double , double )
cdecl>
Men som Morten F. Hansen foreslo er det lurt å bruke typedefs.
ivr
--
<peder> igorr: tcl ja... det er fra de dypeste avgrunnene i helvete det...
<peder> php er bare fra foajeen
-- pederst på irc
| |
|
|