This is what I am using right now (doesn't work). The AddLeaf function only works the first time thru, when there are 0 nodes.
PHP Code:
class NodeTree
{
public:
    
NodeTree();        // Constructor
    
~NodeTree();    // Deconstructor
    
bool AddNode(Node *LeftNode *Rightlong Tag);
    
bool AddLeaf(char Characterlong Tag);
protected:
    
long NodeCount;
    
Node *TheNodes;
};

...

bool NodeTree::AddLeaf(char Characterlong Tag)
{
    
int i 0;
    
Node *TempNodes = new Node[NodeCount];
    for(
0NodeCounti++)
    {
        
TempNodes[i] = TheNodes[i]; //Error!
    
}
    
delete[] TheNodes;    
    
Node *TheNodes = new Node[NodeCount 1];
    for(
0NodeCounti++)
    {
        
TheNodes[i] = TempNodes[i];
    }
    
delete[] TempNodes;
    
TempNodes NULL;    
    
TheNodes[NodeCount].Character Character;
    
TheNodes[NodeCount].Type Leaf;
    
TheNodes[NodeCount].Left NULL;
    
TheNodes[NodeCount].Right NULL;
    
TheNodes[NodeCount].Tag Tag;
    
NodeCount++;
    return 
true;