【发布时间】:2022-01-13 15:44:09
【问题描述】:
****`我是编程新手,无法理解以下问题
所以谁能解释我如何解决这个错误。这只是一个计算第二大的简单程序`****
这是错误代码 s PC\Documents\n1\2.cpp|7|error: no matching function for call to 'std::__cxx11::basic_string::basic_string(int&, int&, int&)'|
#include<iostream>
using namespace std;
int num1, num2, num3;
string SecondGreatest(num1, num2, num3){
string answer1;
if(num1 > num2)
{
if(num2 > num3)
{
answer1 = "Num 2";
}
else
{
answer1 = "Num 3";
}
}
else if(num2 < num1)
{
if(num1 > num3)
{
answer1 = "Num 1";
}else
{
answer1 = "Num 3";
}
}
else if(num3 > num2)
{
if(num2 > num1)
{
answer1 = "Num 2";
}else
{
answer1 = "Num 1";
}
}
else if(num3 > num1)
{
if(num1 > num2)
{
answer1 = "Num 1";
}else
{
answer1 = "Num 2";
}
}
return answer1;
}
//main function
int main(){
cout << "Write any three numbers" << endl;
cin >> num1;
cin >> num2;
cin >> num3;
//outputting the second greatest function
cout << SecondGreatest(num1, num2, num3) << endl;
return 0;
}
【问题讨论】:
-
尝试将
string SecondGreatest(num1, num2, num3)更改为string SecondGreatest(int num1, int num2, int num3)并且您不应为参数和全局变量使用相同的名称,并且num1、num2和num3不需要是全局的. -
另外,我不认为
cout的<<运算符对string有重载。
标签: c++11