C++实现包含加减乘除四个函数的函数指针数组

C++编程作业,要求实现包含加减乘除四个函数的函数指针数组.函数指针的类型为int(*)(int,int)pfunc_array[4]={f1,f2,f3,f4};这一行... C++编程作业,要求实现包含加减乘除四个函数的函数指针数组.函数指针的类型为int (*)(int , int)

pfunc_array[4] = {f1,f2,f3,f4};这一行报错,expected constructor, destructor, or type conversion before '=' token
是因为数组没有声明或者数组类型的问题嘛?要如何修改?还是别的问题?多谢多谢!

以下是我的代码:
#include <iostream>
#include<stdio.h>

int f0(int x,int y){return x+y;}
int f1(int x,int y){return x-y;}
int f2(int x,int y){return x*y;}
int f3(int x,int y){return x/y;}

int (*pfunc_array[4])(int,int);
pfunc_array[4] = {f0,f1,f2,f3};

int main()
{
int a,b;
std::cin>>a>>b;
for(int i = 0; i < 4; ++i)
{
std::cout<<pfunc_array[i](a,b)<<std::endl;
}
return 0;
}
展开
 我来答
匿名用户
推荐于2016-05-29
展开全部

一种方法:

#include <iostream>
// #include<stdio.h>  

int f0(int x,int y){return x+y;}
int f1(int x,int y){return x-y;}
int f2(int x,int y){return x*y;}
int f3(int x,int y){return x/y;}

// int (*pfunc_array[4])(int,int);
// pfunc_array[4] = {f0,f1,f2,f3};

// 用关键字typedef定义 函数指针类型 pType
typedef int (*pType)(int,int);

// 声明一维数组,元素初始化为四个 pType函数指针 
pType pfunc_array[4] = {f0,f1,f2,f3};

int main()
{
    int a,b;
    std::cin>>a>>b;
    for(int i = 0; i < 4; ++i)
    {
        std::cout<<pfunc_array[i](a,b)<<std::endl;
    }
    return 0;
}
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式