运算符重载:为什么此代码不起作用
Operator Overloading : Why This Code Is Not Working ?
正如你所看到的,我试图将7天添加到类"MyAge"的"days"中,但它给了我一个错误:
调用MyAge::MyAge(int,int&,int&aamp;)时没有匹配的函数
为什么会发生这种情况?当你回答这个问题时,试着更具体一些。
抱歉我英语不好,我是印度人。这是我的密码。
#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;
}
您试图调用一个3参数构造函数,但没有。您可以添加它,或者像这样更改operator +
的实现:
MyAge operator + (int Add)
{
MyAge Blah;
Blah.SetAge(Days + Add, Months, Years);
return Blah;
}
相关文章:
- 为什么这段代码不起作用,我该如何解决?
- 为什么这些完全相似的代码不起作用?
- 我不明白为什么我的代码不起作用并且需要更长的时间来运行
- 我正在尝试解决一个需要数组总和值但代码不起作用的问题,我想做这样的事情
- 注释一行使代码工作,而没有它,代码不起作用
- 我的C++合并排序代码不起作用。我在这里错过了什么?
- C ++函数重新定义(代码不起作用 - 逻辑错误)
- 试图找到一个数字的平方根,但代码不起作用。C++
- 字符串代码不起作用
- 我正在努力在随机数组中查找最小值,有人知道为什么我的代码不起作用?C++
- 从 C++ 转换的 C# 代码不起作用
- 有人可以解释我,为什么我的代码不起作用吗?
- 当我使用长整型时,我的代码不起作用,它与 int 一起工作得很好
- 无法在控制面板中创建轨道栏.示例代码不起作用
- CUDA我的共享内存代码不起作用,我缺少什么
- 为什么 C++ 中的 shell 脚本代码不起作用?
- 为什么C++代码不起作用(strncpy_s)?
- 模板函数声明为 void - 代码不起作用?
- 无法弄清楚为什么这个Arduino代码不起作用?
- "check if member exists using enable_if"中修改的代码不起作用