Доброго времени суток всем!
есть в нашей конторе чудо-программеры, которые пишут чудо-код
class CVector {
...
inline operator +=(const CVector &rhs)
{
v[0] += rhs.v[0]; v[1] += rhs.v[1]; v[2] += rhs.v[2];
}
...
}
на всех машинах у нас такой код компилится, а на моей нет, ругается что "must return a value"
видимо это зависит от каких-то настроек компилятора
может кто знает?
Здравствуйте, Андрей, Вы писали:
А>А может лучше этих чудо-программеров заставить правильно писать?

оно, конечно же лучше, но сдесь уже другая проблема, не относящаяся к вотросу — они ведь Чудо-Программеры, им лучше знать
Здравствуйте, RikkiTikkiTavi, Вы писали:
skip
RTT>
оно, конечно же лучше, но сдесь уже другая проблема, не относящаяся к вотросу — они ведь Чудо-Программеры, им лучше знать
тогда уволить их нафиг за такой код
Здравствуйте, RikkiTikkiTavi, Вы писали:
RTT>Доброго времени суток всем!
RTT>есть в нашей конторе чудо-программеры, которые пишут чудо-код
RTT>RTT>class CVector {
RTT>...
RTT> inline operator +=(const CVector &rhs)
RTT> {
RTT> v[0] += rhs.v[0]; v[1] += rhs.v[1]; v[2] += rhs.v[2];
RTT> }
RTT>...
RTT>}
RTT>на всех машинах у нас такой код компилится, а на моей нет, ругается что "must return a value"
RTT>видимо это зависит от каких-то настроек компилятора
RTT>может кто знает?
Обычно (в C++) предполагается что операторы возвращают референс на себя
CVector& operator +=(const CVector &rsh )
{
...
return *this;
}
Как то я внутренне напрягся увидев такой оператор сложения но потом подумал что это наверное векторы в трехмерном пространстве.