构造函数基本(参考距离是不明确的) [英] constructors basic (reference to distance is ambiguous)
本文介绍了构造函数基本(参考距离是不明确的)的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我在练习构造函数。下面是我练习的代码,但有一个错误,
引用距离是不明确的我无法识别我的错误,请帮助我。我一直在努力。
I was practicing constructors. Below is the code which I was practicing but got an error that "reference to distance is ambiguous" I could not identify my error, Please help me. I have been trying that .
#include <iostream>
#include <conio.h>
using namespace std;
//distance
class distance
{
public:
distance(int met, int cen);
distance(int met);
void display();
private:
int meters;
int centimeters;
};
distance::distance(int met, int cen){
cout<<"Object have been initialized and assigned the values"<<endl;
meters=met;
centimeters=cen;
}
distance::distance(int met){
meters=met;
cout<<"One member has been initialized "<<endl;
cout<<"Please enter the distance in centimeters"<<endl;
cin>>centimeters;
}
void distance::display(){
cout<<"The distance in centimeters is "<<centimeters<<endl;
cout<<"The distance in meters is "<<meters<<endl;
}
int main(){
//explicit call
distance a=distance(10,20);
a.display();
int c,m;
cout<<"Enter the distance in centimeters and meters"<<endl;
cin>>c>>m;
//implicit call
distance dist(c,m);
return 0;
}
推荐答案
stop doing
using namespace std;
您的距离
与 std :: distance
。
一个快速/脏的修复程序会替换 :: distance中的所有
,更强大的修复是添加距离
std ::
到所有标准库调用和摆脱 using namespace std;
。
A quick/dirty fix is replace all your distance
in main with ::distance
, a more robust fix is to add std::
to all standard library call and get rid of using namespace std;
.
这篇关于构造函数基本(参考距离是不明确的)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文