提到'距离'是模棱两可的

Ash*_*ish -1 c++ visual-c++

编译以下代码时,我收到错误

提到'距离'是模棱两可的

    #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();
}
Run Code Online (Sandbox Code Playgroud)

任何人都可以帮我解决这个错误.并为我提供解决方案,以及为什么我收到此错误.

Nat*_*ica 10

这就是using namespace std;不应该使用的原因.你的班级distance与标准功能发生冲突std::distance.摆脱,using namespace std;如果您将在std::name_of_thing每次使用时使用标准组件,或者您可以使用using std::name_of_thing.