有個地方貌似講錯了?
這節中,關于+號的運算符重載例子中,貌似有個錯誤?
Coordinate?&Coordinate::operator+(const?Coordinate?&c) { Coordinate?temp(0,?0); temp.m_iX?=?this->m_iX?+?c.m_iX; temp.m_iY?=?this->m_iY?+?c.m_iY; return?temp; }
這段中,rst是重載函數中的臨時對象,感覺不應該這么作返回值呀?而老師卻這么做了!
在Ubuntu g++中編譯,也會得到警告提示
Coordinate.cpp:49:13:?warning:?reference?to?local?variable?‘temp’?returned?[-Wreturn-local-addr] ??Coordinate?temp(0,?0); ?????????????^
請問我的理解是正確的嗎?
2015-10-06
怎么刪除這個問題啊。。。是我搞錯了,返回不是引用,應該是
而不是