我是c++的新手,我正在编写一个计算输入年份是否为闰年的程序,但这会返回一个错误:不能仅通过返回类型来区分重载函数。而且,也不接受带有布尔表达式的运算符"==“。为什么?谢谢。这是我的密码:
using namespace std;
int leap_year(int year);
bool div(int num, int divid) {
if (num % divid == 0)
return true;
else
return false;
}
int leap_year(int year) {
if (div(year, 400))
return 365;
else if (div(year, 100) & div(year, 400) == false)
return 366;
else
return 365;
}
void main() {
int year;
cout << "Year: ";
cin >> year;
int result = leap_year(year);
cout << result;
system("pause");
}发布于 2022-10-19 18:01:06
您对bool div(int num, int divid)的定义隐藏了std::div,因为using namespace std;污染了您的全局命名空间。
删除using namespace std;并酌情使用std::。
https://stackoverflow.com/questions/74129929
复制相似问题