can anyone find the problem in my code
With the code:
Code:
#include <iostream>
#include <cstdlib>
#include <cstring>
class LinkedList
{
public:
LinkedList();
~LinkedList();
void AddNode(char* Name);
void DeleteList();
protected:
struct node
{
char MenuName[20];
node* nxt;
};
node* root;
node* tempnode;
node* tempnode2;
node* TraverseList(node* end = NULL);
};
LinkedList::LinkedList()
{
root = NULL;
tempnode = NULL;
tempnode2 = NULL;
}
LinkedList::~LinkedList()
{
DeleteList();
}
void LinkedList::AddNode(char* Name)
{
tempnode = new node;
tempnode->nxt = NULL;
strncpy(tempnode->MenuName, Name, 19);
tempnode2 = TraverseList();
if (tempnode2 == NULL)
root = tempnode;
else
tempnode2->nxt = tempnode;
return;
}
void LinkedList::DeleteList()
{
while (root != NULL)
{
tempnode = TraverseList();
if (tempnode == root)
{
root = NULL;
delete tempnode;
tempnode = NULL;
}
else
{
tempnode2 = TraverseList(tempnode);
tempnode2->nxt = NULL;
delete tempnode;
tempnode = NULL;
tempnode2 = NULL;
}
}
return;
}
node* LinkedList::TraverseList(node* end = NULL)
{
if (root == NULL)
return NULL;
node* tnode = root;
while (tnode->nxt != end)
{
tnode = tnode->nxt;
}
return tnode;
}
int main()
{
LinkedList l;
l.AddNode("Hello");
l.AddNode("Goodbye");
l.AddNode("So Long");
return 0;
}
my compiler gives me the error "syntax error before `*'"
at
node* LinkedList::TraverseList(node* end = NULL)
and "syntax error before `*'"
at
node* tnode = root;
Can anyone help?
Thanks!