如何创建一个以函数指针作为参数的函数指针(c ++)??? 我有这个代码
#include <iostream>
using namespace std;
int kvadrat (int a)
{
return a*a;
}
int kub (int a)
{
return a*a*a;
}
void centralna (int a, int (*pokfunk) (int))
{
int rezultat=(*pokfunk) (a);
cout<<rezultat<<endl;
}
void main ()
{
int a;
cout<<"unesite broj"<<endl;
cin>>a;
int (*pokfunk) (int) = 0;
if (a<10)
pokfunk=&kub;
if (a>=10)
pokfunk=&kvadrat;
void (*cent) (int, int*)=¢ralna; // here i have to create a pointer to the function "centralna" and call the function by its pointer
system ("pause");
}
答案 0 :(得分:8)
你会发现输入函数指针更容易。
typedef int (*PokFunc)(int);
typedef void (*CentralnaFunc)(int, PokFunc);
...
CentralnaFunc cf = ¢ralna;
答案 1 :(得分:3)
您需要使用函数指针类型作为参数的类型:
void (*cent) (int, int (*)(int)) = ¢ralna
答案 2 :(得分:2)
void (*cent)(int,
的 int (*) (int)
强> )=¢ralna;