Mam pytanie odnośnie poniższego kodu.
template <typename T>
class A
{
private:
T m_val;
public:
A(T m)
{
this->m_val = m;
}
A& operator+=(const A& w)
{
this->m_val += w.m_val;
return *this;
}
};
int main()
{
A<float> w1(1.1);
A<float> w2(2.2);
w1 += w2;
A<double> w3(3.3);
w2 += w3; //Wiadomy błąd, można operować tylko na tych samych szablonach.
return 0;
}
Gdzie musiałbym zaczerpnąć wiedzy, abym mógł dowiedzieć się jak dodać obiekt z typem float do obiektu z typem double(itd.)?