提问者:小点点

cout<<function(); 未定义的引用。 函数的问题


#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

这是我试着通过它时得到的结果。 我知道这是很初级的,但是我想在我继续之前了解我做错了什么


共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;键入

阅读更多内容:为什么“使用名称空间标准;” 被认为是不良行为?