BotImage(botgo[UP],0.1f);
You can't call a constructor like this -- a constructor is only called when an object is
constructed 1. First solution: use the initialization list, which is the only place where you can call your member's constructor
Wanderbot::Wanderbot() : BotImage(botgo[UP], 0.1f)
{
...
}
2. Second solution: if the Animated class is copyable and assignable, you can assign your object a copy of a new instance
BotImage = Animated(botgo[UP], 0.1f);
3. Third solution: add an initialization function to the Animated class
BotImage.initialize(botgo[UP], 0.1f);