#include <iostream>
using namespace std;
//defining function
double distance(double,double);
int main() {
//where im having issues i think
cout << distance();
return 0;
}
//attempting to start the function with rate*time=distance and returning the value
double distance(double rate, double time)
{
time = 10;
rate = 10;
return time*rate;
}
main.cpp:9:11:错误:对“distance”cout<<<; 距离(); ^~~~~~~~~~~/usr/bin/../lib/gcc/x86_64-linux-gnu/7.5.0/../../include/c++/7.5.0/bits/stl_iterator_base_funcs.h:138:5:注意:候选函数模板不可行:需要2个参数,但提供了0距离(_inputiterator__first,_inputiterator__last)^main.cpp:5:8:注意:候选函数不可行:需要2个参数,但提供了0双距离(double,double); 生成^1个错误。 编译器退出状态%1
这是我试着通过它时得到的结果。 我知道这是很初级的,但是我想在我继续之前了解我做错了什么
您应该将参数传递给函数,因为您已经定义为:double distance(double,double);
因此,解决办法是:
#include <iostream>
using namespace std;
double distance(double, double);
int main()
{
cout << distance(10, 10);
return 0;
}
double distance(double rate, double time)
{
return time * rate;
}
另外,最好在作为C++标准库一部分的所有内容之前使用std::
,而不是在代码顶部使用名称空间std;键入。
阅读更多内容:为什么“使用名称空间标准;” 被认为是不良行为?