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 *Left, Node *Right, long Tag);
bool AddLeaf(char Character, long Tag);
protected:
long NodeCount;
Node *TheNodes;
};
...
bool NodeTree::AddLeaf(char Character, long Tag)
{
int i = 0;
Node *TempNodes = new Node[NodeCount];
for(i = 0; i < NodeCount; i++)
{
TempNodes[i] = TheNodes[i]; //Error!
}
delete[] TheNodes;
Node *TheNodes = new Node[NodeCount + 1];
for(i = 0; i < NodeCount; i++)
{
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;
}