Your problem is when you try something as
BB bb1;
bb1 = { -1.0f, -1.0f, 0.0f };
not when you try to initialize your BB
object with an initializer list. The error is coming from operator=()
.
To solve your problem, I suggest that you add a using
, in your BB
class, as follows
class BB: public AA
{
public:
using AA::operator=;
};
The problem is that BB
implicitly define a couple of operator=()
(the copy and the move operator=()
: BB & BB::operator= (BB const &)
and BB & BB::operator= (BB &&)
respectively) that hide the operators inherited from AA
.
To un-hide them, you have to explicitly bring them into scope with a using
declaration.
CLICK HERE to find out more related problems solutions.