在c+中找到最小值(双精度)+; 我刚开始学习C++,我编写了一个代码来查找最小值,现在我必须用双打来做,我错了!请让我知道如何修理它 #include <iostream> using namespace std; void findminval (double num1, double num2) { double minval; if (num1<num2){ minval=num1; } else { minval=num2; } } void findminval (int num1, int num2) { int minval; if (num1<num2){ minval=num1; } else { minval=num2; } } int main(int argc, char** argv) { int num1,num2; cout<<"Enter Two Numbers"<<endl; cin>>num1>>num2; int minimumvalue = findminval(int num1,int num2); cout<<minimumvalue<<endl; double num1,num2; cout<<"Enter Two Numbers"<<endl; cin>>num1>>num2; double minimumvalue = findminval(num1,num2); cout<<minimumvalue<<endl; return 0; } #包括 使用名称空间std; 无效findminval(双数m1,双数m2){ 双米瓦尔; 如果(num1

在c+中找到最小值(双精度)+; 我刚开始学习C++,我编写了一个代码来查找最小值,现在我必须用双打来做,我错了!请让我知道如何修理它 #include <iostream> using namespace std; void findminval (double num1, double num2) { double minval; if (num1<num2){ minval=num1; } else { minval=num2; } } void findminval (int num1, int num2) { int minval; if (num1<num2){ minval=num1; } else { minval=num2; } } int main(int argc, char** argv) { int num1,num2; cout<<"Enter Two Numbers"<<endl; cin>>num1>>num2; int minimumvalue = findminval(int num1,int num2); cout<<minimumvalue<<endl; double num1,num2; cout<<"Enter Two Numbers"<<endl; cin>>num1>>num2; double minimumvalue = findminval(num1,num2); cout<<minimumvalue<<endl; return 0; } #包括 使用名称空间std; 无效findminval(双数m1,双数m2){ 双米瓦尔; 如果(num1,c++,function,double,void,minimum,C++,Function,Double,Void,Minimum,您的函数缺少一个显式的返回值(您也不能在同一范围内更改变量的类型,因此当它达到双num1,num2;时,编译器会抱怨) 作为最低限度的要求,你需要写作 double findminval(double num1, double num2){ double minval; if (num1 < num2){ minval = num1; } else { minval = num2; } return minval; }

您的函数缺少一个显式的
返回值(您也不能在同一范围内更改变量的类型,因此当它达到
双num1,num2;
时,编译器会抱怨)

作为最低限度的要求,你需要写作

double findminval(double num1, double num2){
    double minval;
    if (num1 < num2){
        minval = num1;
    } else {
        minval = num2;
    }
    return minval;
}

您“出错”的确切原因是什么?是编译错误吗?如果是,它发生在哪一行?您的函数具有返回类型
void
,这意味着它们不报告结果。您应该阅读有关ing的内容。
double findminval(double num1, double num2){
    if (num1 < num2){
        return num1;
    } else {
        return num2;
    }
}
double findminval (double num1, double num2){
    return num1 < num2 ? num1 : num2;
}
template<typename Y> Y findminval(const Y& num1, const Y& num2){
    return num1 < num2 ? num1 : num2;
}
template<typename Y> Y findminval(const Y& num1, const Y& num2){
    return num1 <= num2 ? num1 : num2;
}