首页 > 解决方案 > 这种错误的原因是什么:将“功能”重新定义为不同类型的符号

问题描述

我有一个节点代表地图上的一个点,我想编写一个函数来获取两个节点之间的欧几里德距离,我已经编写了这段代码,但是它不起作用,我不知道为什么!你能帮忙吗?

标题部分

struct Node1{
  double longitude;
  double latitude ;
  double ID;
  std::string name;
};

double distance_function(Node1 , Node1);

CPP部分

Node1 ND1,ND2;
double distance_function(ND1, ND2){
  double dist = 0;
  dist = sqrt(pow((ND2.latitude - ND1.latitude),2)+pow((ND2.longitude - ND1.longitude),2));
  return dist;
}

错误说:Distance_Function.cpp:10: 错误:将“distance_function”重新定义为不同类型的符号

标签: c++

解决方案


您还必须在函数定义中指定数据类型:)

double distance_function(Node1 ND1, Node1 ND2)
{
  double dist = 0;
  dist = sqrt(pow((ND2.latitude - ND1.latitude),2)+pow((ND2.longitude - ND1.longitude),2));
  return dist;
}

推荐阅读