构造函数基本(参考距离是不明确的) [英] constructors basic (reference to distance is ambiguous)

查看:217
本文介绍了构造函数基本(参考距离是不明确的)的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我在练习构造函数。下面是我练习的代码,但有一个错误,
引用距离是不明确的我无法识别我的错误,请帮助我。我一直在努力。

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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆