c++ - 这种错误的原因是什么:将“功能”重新定义为不同类型的符号
问题描述
我有一个节点代表地图上的一个点,我想编写一个函数来获取两个节点之间的欧几里德距离,我已经编写了这段代码,但是它不起作用,我不知道为什么!你能帮忙吗?
标题部分
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”重新定义为不同类型的符号
解决方案
您还必须在函数定义中指定数据类型:)
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;
}