【发布时间】:2020-11-07 08:01:57
【问题描述】:
我正在学习 c++,但在这个程序中遇到了问题。 我要做的是编写一个函数,计算最大 2 个参数 x 和 y,每个参数类型为“对 const double 的引用”。该函数返回类型“对双精度的引用”。返回整个条件表达式,将其类型转换为 (double &) 以覆盖“const”变量。
所以我把这个函数写在一个名为“fmax.cpp”的文件中
double& fmax(const double &x, const double &y)
{
return (x > y) ? x : y; //Need type casting here?
}
我尝试在另一个文件 main.cpp 中调用函数
include <iostream>
using namespace std;
double& fmax(const double &x, const double &y);
int main()
{
const double &x; //should I put &x or x here?
const double &y; //should I put &y or y here?
cout << "enter 2 values" << '\n';
cin >> x >> y; //should I put & or no & here?
//Am I calling the function correctly?
cout << fmax(double &x, double &y) << '\n';
return 0;
}
请指教如何正确编写程序。
【问题讨论】:
-
这段代码有很多错误,听起来你应该read a good book
-
我可以建议获得a good C++ book 吗?几乎每一行都有注释都是错误的(包括你选择的函数名称与
using namespace std;结合时) -
您已将变量声明为 const,那么您将无法在 cin 行中为其赋值。您还应该创建一个头文件并将其包含在 main.cpp 中。为什么要定义引用变量?不,你没有正确调用它。其他错误也很少。您可以遵循一些 cpp 教程,这将有助于理解这些概念。
标签: c++