int inc(int a)
{
return (++a);
}
int Multi (int *a, int *b, int *c)
{
return (*c = *a**b);
}
typedef int(FUNC1) (int in);
typedef int(FUNC2) (int *, int *, int *);
void Show (FUNC2 fun, int arg1, int *arg2)
{
FUNC1 p = &inc; //this sentence can't access a pointer of a function
int temp = p(arg1);
fun (&temp, &arg1, arg2);
cout<<(*arg2)<<endl;
}
int _tmain(int argc, _TCHAR* argv[])
{
int a;
Show(Multi,10,&a);
return 0;
}