Posted on Jul 25, 2013 by
Grumpy Cat
The way the examples uses BehaviourTreeInternalNode leads to memory leaks. the tree doesn't get deleted and it isn't possible to delete internalnode because of destructor being protected. To delete it properly it has to be casted to the initializing pointer instance. brain = new ParallelNode();
will need if(ParallelNode temp = dynamic_cast<ParallelNode,brain)){ delete temp; }
Comment #1
Posted on Jul 25, 2013 by Grumpy Catof course the better solution is adding virtual destructor() to BehaviourTreeNode. Which should be done to any pure polymorphic classes.
Status: New
Labels:
Type-Defect
Priority-Medium