Я видел следующий код:
template <class T>
class Type {
public:
Type() {}
T& operator=(const T& rhs) {value() = rhs; return value();}
T& value() {return m_value;}
T value() const {return m_value;}
private:
T m_value;
};
Почему компилятор не жалуется на
T& value() {return m_value;}
T value() const {return m_value;}
и как узнать, какой из них вызывается?