Time operator+(Time &t)
{
return Time(m_iHour+t.m_iHour,m_iMinute+t.m_iMinute,m_iSecond+t.m_iSecond);
}
main中:
Time t(6, 30, 20),t1(1,3,4),t2=t1,t3=t2;
((t+t1)+(t2+t3)).display();
显示报错:[Error] no match for 'operator+' (operand types are 'Time' and 'Time')
小白表示不明白了,求解释 T-T 虽然t2+t3的结果是一个临时变量但也得在整条语句结束后才释放不是吗?那么在t+t2的结果与t2+t3的结果调用“+”时,虽然传的是临时变量,但在使用期间不是安全的吗?之前也用typeid检查过临时变量也是Time的对象。。。。 0.0 为啥报的错表示是对于运算符+没有匹配啊 。0.0 。。若将t2+t3的括号去掉则没用这种问题,将其换成Time(1,2,3)也会出现这种问题。。。。 小白表示跪死了。。求大触解释。。。
onemoo
onemoo
相关分类