Я работал над примером для этого ответа, но я забыл ввести return *this;
, чтобы завершить свой оператор присваивания, поэтому оператор присваивания Val
выглядит так:
Val& operator= (const int _a) {a = _a; b = _a + fmod(b, 1.0F);}
Кажется, что не должно, но gcc компилирует и запускает этот код. Как это возможно? Это похоже на функцию main
, где подразумевается return
?