“距离”的提法含糊不清
reference to 'distance' is ambiguous
编译以下代码时,我收到错误为
提及"距离"是模棱两可的
#include<iostream>
using namespace std;
class distance
{
int feet,inches;
distance():feet(0),inches(0)
{
}
distance(int f,int i):feet(f),inches(i)
{
}
void show()
{
cout<<"feet "<<feet;
cout<<endl<<"inches "<<inches;
}
distance operator + (distance) ;
};
distance distance::operator + (distance d)
{
int f,i;
f=feet+d.feet;
i=inches+d.inches;
return distance(f,i);
}
int main()
{
distance d1;
distance d2(2,3),d3(7,5);;
d1=d2+d3;
d1.show();
}
任何人都可以帮助我解决错误。并为我提供解决方案以及为什么出现此错误。
这就是为什么
不应该使用using namespace std;
的原因。您的类distance
与标准函数std::distance
冲突。 摆脱using namespace std;
,如果您要使用标准组件,请在每次使用它时使用std::name_of_thing
或者您可以使用using std::name_of_thing
。
您的类名与命名空间中的另一个符号冲突,将您的类名更改为其他类似 Distance
的符号将是一种可能的解决方案。
相关文章:
- 计算车辆之间的距离并设置速度,使距离保持不变,例如 5 米
- std::使用迭代器映射查找距离,程序不会终止
- Boost::asio::streambuf consumption() 不清空缓冲区
- 汉明距离:计数不正确
- OpenGL不考虑GL_DIFFUSE位置光的距离
- 为什么编译器在此代码中说POW(N,K)含糊不清
- 列文施泰因编辑距离不计算编辑距离
- 构造函数基本(对距离的引用不明确)
- 为什么我不能以这种方式清空文件?
- 如何清空列表而不破坏其元素
- 寻找汉明数——不是代码或距离
- 我搞不清我的代码出了什么问题
- “距离”的提法含糊不清
- 我是不是太快了,数不清妖孽
- 字符串流缓冲区在 Objective-C++ 中不会清空
- 对'list'的引用含糊不清
- 为什么这个电话含糊不清
- §9.5/8 中可能含糊不清的陈述
- 口齿不清的类
- 对"class"的提及含糊不清