Function parameter - pointer or reference to a pointer?
<pre><code>void DeleteChildren(BSTNode *node)
{
    // Recurse left down the tree...
    if(node-&gt;HasLeftChild()) DeleteChildren(node-&gt;GetLeftChild());
    // Recurse right down the tree...
    if(node-&gt;HasRightChild()) DeleteChildren(node-&gt;GetRightChild());

    // Clean up the data at this node.
    node-&gt;ClearData(); // assume deletes internal data

    // Free memory used by the node itself.
    delete node;
}

// Call this from external code.
DeleteChildren(rootNode);
</code></pre>

<p>This function is deleting BST recursively.</p>

<p>I got a question about the first line, <code>BSTNode *node</code> ,
should I modify it to be <code>BSTNode *&amp; node</code> ?</p>
