C++ 函数中的另一个函数参数

C++ 函数中的另一个函数参数,c++,C++,嗯,基本上我已经浏览了所有关于这个的问答,找不到我的答案 这是我的代码,它将计算正方形、立方体和数字的四分之一。但是,尝试输出答案时出错 #include <iostream> using namespace std; int square (int); //n^2 int cube (int); //n^3 int fourth (int); //n^4 void powerN(int x[], const int sizex, void(*select)(int)) {

嗯,基本上我已经浏览了所有关于这个的问答,找不到我的答案

这是我的代码,它将计算正方形、立方体和数字的四分之一。但是,尝试输出答案时出错

#include <iostream>

using namespace std;
int square (int);  //n^2
int cube (int);  //n^3
int fourth (int);  //n^4
void powerN(int x[], const int sizex, void(*select)(int))
{
    cout<< x[sizex];
    cout<<" to the power of "<<sizex+2<<" is ";
    cout<<(*select)(x[sizex])<<endl;
}
int square (int a)
{
    return a*a;
}
int cube (int b)
{
    return b*b*b;
}
int fourth (int c)
{
    return c*c*c*c;
}
int main()
{
    int a[3]={3,4,5};
    for (int aSize=0;aSize<3;a++){
    powerN (a, aSize, square);
    powerN (a, aSize, cube);
    powerN (a, aSize, fourth);
    }
}
#包括
使用名称空间std;
整数平方(整数)//n^2
int立方体(int)//n^3
int第四(int)//n^4
void powerN(整数x[],常量整数sizex,void(*select)(整数))
{
库特
  • 函数指针参数
    select
    的类型不正确。您将其返回类型声明为
    void
    ,不能
    cout
    编辑。返回值的类型应为
    int

    void powerN(int x[], const int sizex, int(*select)(int))
    //                                    ~~~
    
  • main()
    a++
    中的for循环应该是
    aSize++

  • 函数指针参数
    select
    的类型不正确。您将其返回类型声明为
    void
    ,不能
    cout
    编辑。返回值的类型应为
    int

    void powerN(int x[], const int sizex, int(*select)(int))
    //                                    ~~~
    
  • main()
    a++
    中的for循环应该是
    aSize++


  • 但是,在尝试输出答案时出现错误。错误是什么?这是一个秘密吗?同上,错误消息的存在有一个原因:帮助您找出错误的原因!总是,总是,总是在您的问题中包含任何错误消息。但是,在尝试输出答案时出现错误。错误是什么?它是一个秘密吗?同上,e错误消息的存在有一个原因:帮助您找出错误的原因!总是,总是,总是在您的问题中包含任何错误消息。