try this
//function to clear all pointers
void clearMemory(bus* &pointer)
{
bus *next;
bandMember *current;
next = pointer;
while(next != NULL)
{
current = next->memListPtr;
while(current)
{
bandMember *hold = current;
current = current->memberPtr;
delete hold;
}
bus* hold = next;
next = next->busPtr;
delete hold;
}
pointer = NULL;
}
void Add(bus*& head)
{
bus* node = new bus;
node->busPtr = 0;
node->memListPtr = 0;
if(head == NULL)
head = node;
else
{
bus* next = head;
while(next->busPtr)
next = next->busPtr;
next->busPtr = node;
}
}
int main()
{
bus* head = 0;
for(int i = 0; i < 5; i++)
Add(head);
clearMemory(head);
}
Don't PM me with questions -- you might get a nasty PM in response. If you have a question then post it in one of the forums.