J'ai deux struct:C++: L'héritage et l'opérateur Surcharger
template <typename T>
struct Odp
{
T m_t;
T operator=(const T rhs)
{
return m_t = rhs;
}
};
struct Ftw : public Odp<int>
{
bool operator==(const Ftw& rhs)
{
return m_t == rhs.m_t;
}
};
Je voudrais ce qui suit pour compiler:
int main()
{
Odp<int> odp;
odp = 2;
Ftw f;
f = 2; // C2679: no operator could be found
}
Est-il possible de faire ce travail, ou dois-je définir la opérateur dans Ftw
ainsi?
Habituellement '' = opérateur prend le paramètre de référence const ... Il serait préférable de changer 'T opérateur = (const T rhs)' 'à T = opérateur (const T & rhs) ' – a1ex07