在C++中使用函数指针时发生无效转换错误
Invalid Conversion Error When Using Function Pointers in C++
所以我已经尝试并与之斗争了几个小时。我对c++还比较陌生,但我读过函数指针,它看起来很有用。从本质上讲,我下面要做的是将两个整数值传递给函数foo,然后将其乘以10。然而,我一直收到以下错误:"从'int'到'int(*)(int,int)'的转换无效[-fpermission]"。
#include <iostream>
using namespace std;
int foo(int nX, int nY){
return nX*nY;
}
int multTen(int a, int b, int (*Fn)(int, int)){
return 10*Fn(a,b);
}
int main(){
cout << multTen(3,4,foo(3,4)) << endl;
}
非常感谢你在这方面的帮助
cout << multTen(3,4,foo(3,4)) << endl;
// ^^^^^^^ calling function foo and it's return value is passed
// to multTen
问题是,调用mulTen
时将返回值foo
作为参数,而不是将指针传递给它
你是这个意思吗?
cout << multTen(3,4,foo) << endl;
省略foo上的(3,4)。在代码示例中,使用参数(3,4)调用foo函数,并将返回值传递给multTen。
相关文章:
- C++ PTHREADS - 无效转换无效*(*)()到无效*(*)(无效*)
- is_same和variadic模板编译时错误无效转换
- 如何将常量无效*转换为istream?
- 无效* 转换获得意外输出
- 无法确定为什么函数调用中从 char* 到 char 的无效转换
- 在这个简单函数中从'char'到'const char*'的无效转换
- C++从 'const char*' 到 'char*' Arduino Uno 的无效转换
- 如何修复C++中的"错误:从'int'到'const char*'[-fallowive]的无效转换?
- C 错误:从(基类模板)到子类的无效转换
- 如何将常量无效*转换为无符号字符*
- 函数模板中的无效转换错误,返回值取决于其泛型类型
- 常量正确性编译错误到模板函数中的无效转换错误
- 从"char"到"const char*"的无效转换[-fpermissive](idk why)
- 从“ void*”到“ pthread_t*”的无效转换
- 当函数调用时,试图阻止数组更改时发生无效转换错误
- 使用基类中定义的函数返回指向派生类实例的指针时发生无效转换错误
- C++从字符到常量字符*的无效转换
- ALL_OF从'char'到'const char*'的无效转换 [-允许]
- C和C++上的无效转换错误
- C++ 在模板专用化中从 strcmp() 中的 'char' 到 'const char*' 的无效转换