繁体   English   中英

错误:从 'int (*)(int, int)' 到 'int' 的无效转换 [-fpermissive]

[英]error: invalid conversion from ‘int (*)(int, int)’ to ‘int’ [-fpermissive]

我正在尝试创建一个具有打印两个数字之间较小数字的功能的程序。 但是,当我将 function 分配给变量时,它会显示此错误:

error: invalid conversion from ‘int (*)(int, int)’ to ‘int’ [-fpermissive]

编码:

#include <iostream>
using namespace std;
int minimum(int num1, int num2){
    int min;
    if(num1 > num2)
        min = num1;
    else
        min = num2;
    return min;
}
int main()
{
    int c{100};
    int d{200};
    int result;
    result = minimum;
    cout<<"The smallest number is " <<result;;
}

它还显示此错误:

error: no match for ‘operator<<’ (operand types are ‘std::basic_ostream’ and ‘’)

如果您能给我一个解决方案,那将非常有帮助!

我很确定你打算使用

result=minimum(c,d);

此外,在 function 定义中,> 的方向应更改为 <。

发生这种情况是因为您在没有任何参数的情况下调用 function,也从未创建 min 并且您的 function 当前检查最大数量。

#include <iostream>
using namespace std;
int minimum(int num1, int num2) {
    int min;
    if (num1 < num2)
        min = num1;
    else
        min = num2;
    return min;
}
int main()
{
    int c{ 100 };
    int d{ 200 };
    int result = minimum(c, d);
    cout << "The smallest number is " << result;
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM