我无法解决此警告
这是我的原型
int doubeInput (int* inputVal);
int squareInput (int* inputVal);
int cubeInput (int* inputVal);
有错误的行是
int (*funPtrArr[])(int)={doubleInput, squareInput, cubeInput};
此行位于主行
while (choice >0 && choice <=3)
{
(*funPtrArr[choice])(inputVal);
}
这是我的功能
//function to perform the menu option 1,user input passed in
int doubleInput (int* inputVal)
{
//calculate double
int answer = (*inputVal) *= (2);
printf("%d x 2", inputVal);
return (answer);
}
//function to perform the menu option 2,user input passed in
int squareInput (int* inputVal)
{
//calculate square
int answer = (*inputVal) *= (*inputVal);
printf("%d x %d", inputVal, inputVal);
return (answer);
}
//function to perform the menu option 3,user input passed in
int cubeInput (int* inputVal)
{
//calculate cube
int answer = (*inputVal) *= (*inputVal) *= (*inputVal);
printf("%d ^ 3", inputVal);
return (answer);
}
我一直收到此错误,我是C语言的新手。我的功能尚未完成,因为我无法对其进行测试。 请帮助
答案 0 :(得分:2)
int (*funPtrArr[])(int)
声明带有int
参数的函数的指针数组,但是您的函数具有int *
参数。
因此,该行应为
int (*funPtrArr[])(int *)={doubleInput, squareInput, cubeInput};