I am implementing standart template tree structure, and I came across small problem.
Idea that each node will hold pointer to some data. Later in order to delete element correctly I need to know if its a single pointer or pointer to an array.
Inside of my tree->ReleaseMemory() method I have this code:
if (node->_data != NULL)    {
        switch (_destructionMethod){
        case  tree_delete:
            delete  node->_data; break;
        case  tree_deleteList:
            delete [] node->_data; break;
        case  tree_free:
            free(node->_data); break;
    }
}
where _destructionMethod has been set during initialisation of the node. 
Is there any way I can choose correct destructor without predefining it in special variable for it during initialisation ? 
Thanks!
 
     
     
     
     
    