How to get this to compile?
- by ShaChris23
I have this code which compiles and works as expected:
class Right
{};
class Left
{
public:
Left& operator = (Right const&)
{
//... Do something ...
return *this;
}
};
int main()
{
Right right;
Left left;
// Assign individual object -- this works
left = right;
}
But now, this one surprises me, I thought the template would work itself out since I already provided the = operator() to the Left class.
int main()
{
...
std::list<Right> rightLst;
std::list<Left> leftLst;
// Assign a list of objects -- this doesn't compile
leftLst = rightLst;
}
What can I do so that I could convert the rightLst to leftLst conversion in a single line?