正如您所看到的,我正在尝试将7天添加到“MyAge”类的“Days”,但它给了我 一个错误:
没有匹配函数来调用MyAge :: MyAge(int,int&,int&)
为什么会这样? 当你回答这个问题时,请尝试更具体的noob。
抱歉我的英语不好,我是印度人。这是我的代码。
#include<iostream>
using namespace std;
class MyAge
{
private:
int Days;
int Months;
int Years;
int DaysToAdd;
public:
void SetAge(int InputDays,int InputMonths,int InputYears)
{
Years= InputYears;
Months=InputMonths;
Days=InputDays;
}
MyAge operator + (int Add)
{
MyAge Blah (Days + Add,Months,Years);
return Blah;
}
void Display()
{
cout <<"Your age after increment is"<<Years<<"years"<<Months<<"Months"<<Days<<"Days";
}
};
int main()
{
MyAge BirthDay;
BirthDay.SetAge(10,11,19);
MyAge NameDay(BirthDay+7);
NameDay.Display();
return 0;
}
答案 0 :(得分:1)
您正在尝试调用3参数构造函数,但您没有。您可以添加它,或者像这样更改operator +
的实现:
MyAge operator + (int Add)
{
MyAge Blah;
Blah.SetAge(Days + Add, Months, Years);
return Blah;
}