It seems I have been looking at this code for hours on in and I feel lost in the woods. I know it might be such an easy simple error to correct, but I cant seem to figure it out. Any help will be greatly appreciated. Code: [SIZE=2][COLOR=#0000ff] [SIZE=2][COLOR=#0000ff]#include[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2][COLOR=#a31515][SIZE=2][COLOR=#a31515]<stdlib.h>[/COLOR][/SIZE] [/COLOR][/SIZE][SIZE=2][COLOR=#0000ff][SIZE=2][COLOR=#0000ff]#include[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2][COLOR=#a31515][SIZE=2][COLOR=#a31515]<string>[/COLOR][/SIZE] [/COLOR][/SIZE][SIZE=2][COLOR=#0000ff][SIZE=2][COLOR=#0000ff]#include[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2][COLOR=#a31515][SIZE=2][COLOR=#a31515]<iostream>[/COLOR][/SIZE] [/COLOR][/SIZE][SIZE=2][COLOR=#0000ff][SIZE=2][COLOR=#0000ff]using[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2] std::cout;[/SIZE] [SIZE=2][COLOR=#0000ff][SIZE=2][COLOR=#0000ff]using[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2] std::string;[/SIZE] [SIZE=2][COLOR=#008000][SIZE=2][COLOR=#008000]// node object for the linked list[/COLOR][/SIZE] [/COLOR][/SIZE][SIZE=2][COLOR=#0000ff][SIZE=2][COLOR=#0000ff]struct[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2] Node {[/SIZE] [SIZE=2][COLOR=#0000ff][SIZE=2][COLOR=#0000ff]int[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2] data;[/SIZE] [SIZE=2]Node* link;[/SIZE] [SIZE=2]};[/SIZE] [SIZE=2][COLOR=#008000][SIZE=2][COLOR=#008000]// implement a singly linked list[/COLOR][/SIZE] [/COLOR][/SIZE][SIZE=2][COLOR=#0000ff][SIZE=2][COLOR=#0000ff]class[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2] LinkedList {[/SIZE][SIZE=2][COLOR=#0000ff][SIZE=2][COLOR=#0000ff]protected[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2]:[/SIZE] [SIZE=2]Node* front; [/SIZE][SIZE=2][COLOR=#008000][SIZE=2][COLOR=#008000]// pointer to the front of the linked list[/COLOR][/SIZE] [/COLOR][/SIZE][SIZE=2]Node* back; [/SIZE][SIZE=2][COLOR=#008000][SIZE=2][COLOR=#008000]// pointer to the last node in the linked list[/COLOR][/SIZE] [/COLOR][/SIZE] [SIZE=2][COLOR=#0000ff][SIZE=2][COLOR=#0000ff]public[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2]:[/SIZE] [SIZE=2][COLOR=#008000][SIZE=2][COLOR=#008000]// constructs an empty list[/COLOR][/SIZE] [/COLOR][/SIZE][SIZE=2]LinkedList() {[/SIZE] [SIZE=2]front = back = NULL;[/SIZE] [SIZE=2]}[/SIZE] [SIZE=2][COLOR=#008000][SIZE=2][COLOR=#008000]// deletes the list[/COLOR][/SIZE] [/COLOR][/SIZE][SIZE=2]~LinkedList() {[/SIZE] [SIZE=2][COLOR=#008000][SIZE=2][COLOR=#008000]// remove objects from the list as long as list is not empty[/COLOR][/SIZE] [/COLOR][/SIZE][SIZE=2][COLOR=#0000ff][SIZE=2][COLOR=#0000ff]while[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2](Length() > 0) {[/SIZE] [SIZE=2]RemoveFront();[/SIZE] [SIZE=2]}[/SIZE] [SIZE=2]}[/SIZE] [SIZE=2][COLOR=#008000][SIZE=2][COLOR=#008000]// inserts a node at the front of the list[/COLOR][/SIZE] [/COLOR][/SIZE][SIZE=2][COLOR=#0000ff][SIZE=2][COLOR=#0000ff]void[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2] InsertFront([/SIZE][SIZE=2][COLOR=#0000ff][SIZE=2][COLOR=#0000ff]int[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2] newValue) {[/SIZE] [SIZE=2]Node* newNode = [/SIZE][SIZE=2][COLOR=#0000ff][SIZE=2][COLOR=#0000ff]new[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2] Node;[/SIZE] [SIZE=2]newNode->data = newValue;[/SIZE] [SIZE=2][COLOR=#0000ff][SIZE=2][COLOR=#0000ff]if[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2] (front == NULL) {[/SIZE] [SIZE=2][COLOR=#008000][SIZE=2][COLOR=#008000]// list must be empty so make front & back point to new node[/COLOR][/SIZE] [/COLOR][/SIZE][SIZE=2]front = back = newNode;[/SIZE] [SIZE=2]newNode->link = NULL;[/SIZE] [SIZE=2]} [/SIZE][SIZE=2][COLOR=#0000ff][SIZE=2][COLOR=#0000ff]else[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2] {[/SIZE] [SIZE=2][COLOR=#008000][SIZE=2][COLOR=#008000]// list is not empty so insert between front and first node[/COLOR][/SIZE] [/COLOR][/SIZE][SIZE=2]newNode->link = front;[/SIZE] [SIZE=2]front = newNode;[/SIZE] [SIZE=2]}[/SIZE] [SIZE=2]}[/SIZE] [SIZE=2][COLOR=#008000][SIZE=2][COLOR=#008000]// removes a node from the front of the list[/COLOR][/SIZE] [/COLOR][/SIZE][SIZE=2][COLOR=#0000ff][SIZE=2][COLOR=#0000ff]int[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2] RemoveFront() {[/SIZE] [SIZE=2][COLOR=#0000ff][SIZE=2][COLOR=#0000ff]int[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2] returnVal;[/SIZE] [SIZE=2]Node *temp;[/SIZE] [SIZE=2][COLOR=#0000ff][SIZE=2][COLOR=#0000ff]if[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2] (front != NULL) {[/SIZE] [SIZE=2][COLOR=#008000][SIZE=2][COLOR=#008000]// list is not empty so remove & return first node[/COLOR][/SIZE] [/COLOR][/SIZE][SIZE=2]returnVal = front->data;[/SIZE] [SIZE=2]temp = front;[/SIZE] [SIZE=2]front = front->link;[/SIZE] [SIZE=2]} [/SIZE][SIZE=2][COLOR=#0000ff][SIZE=2][COLOR=#0000ff]else[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2] {[/SIZE] [SIZE=2][COLOR=#008000][SIZE=2][COLOR=#008000]// list is empty just return 0[/COLOR][/SIZE] [/COLOR][/SIZE][SIZE=2]returnVal = 0;[/SIZE] [SIZE=2]}[/SIZE] [SIZE=2][COLOR=#0000ff][SIZE=2][COLOR=#0000ff]return[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2] returnVal;[/SIZE] [SIZE=2]}[/SIZE] [SIZE=2][COLOR=#008000][SIZE=2][COLOR=#008000]// returns the length of the list[/COLOR][/SIZE] [/COLOR][/SIZE][SIZE=2][COLOR=#0000ff][SIZE=2][COLOR=#0000ff]int[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2] Length() {[/SIZE] [SIZE=2]Node* p;[/SIZE] [SIZE=2][COLOR=#0000ff][SIZE=2][COLOR=#0000ff]int[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2] count = 0;[/SIZE] [SIZE=2][COLOR=#008000][SIZE=2][COLOR=#008000]// loop through each node in the list until we find a null value[/COLOR][/SIZE] [/COLOR][/SIZE][SIZE=2][COLOR=#0000ff][SIZE=2][COLOR=#0000ff]for[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2] (p = front; p != NULL; p = p->link) {[/SIZE] [SIZE=2]count++;[/SIZE] [SIZE=2]}[/SIZE] [SIZE=2][COLOR=#0000ff][SIZE=2][COLOR=#0000ff]return[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2] count;[/SIZE] [SIZE=2]}[/SIZE] [SIZE=2][COLOR=#008000][SIZE=2][COLOR=#008000]// outputs a string containing all the data values in the list[/COLOR][/SIZE] [/COLOR][/SIZE][SIZE=2][COLOR=#0000ff][SIZE=2][COLOR=#0000ff]void[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2] Output() {[/SIZE] [SIZE=2]Node* p;[/SIZE] [SIZE=2][COLOR=#008000][SIZE=2][COLOR=#008000]// loop through each node in the list until we find a null value[/COLOR][/SIZE] [/COLOR][/SIZE][SIZE=2][COLOR=#0000ff][SIZE=2][COLOR=#0000ff]for[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2] (p = front; p != NULL; p = p->link) {[/SIZE] [SIZE=2]cout << p->data << [/SIZE][SIZE=2][COLOR=#a31515][SIZE=2][COLOR=#a31515]", "[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2];[/SIZE] [SIZE=2]}[/SIZE] [SIZE=2]}[/SIZE] [SIZE=2][COLOR=#008000][SIZE=2][COLOR=#008000]//use inheritance to create a Set Cclass from the LinkedList class[/COLOR][/SIZE] [/COLOR][/SIZE][SIZE=2][COLOR=#0000ff][SIZE=2][COLOR=#0000ff]class[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2] Set: [/SIZE][SIZE=2][COLOR=#0000ff][SIZE=2][COLOR=#0000ff]public[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2] LinkedList {[/SIZE] [SIZE=2][COLOR=#008000][SIZE=2][COLOR=#008000]//insert a new value only if it is unique (not already in the set)[/COLOR][/SIZE] [/COLOR][/SIZE][SIZE=2][COLOR=#0000ff][SIZE=2][COLOR=#0000ff]public[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2]:[/SIZE] [SIZE=2][COLOR=#0000ff][SIZE=2][COLOR=#0000ff]void[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2] Insert([/SIZE][SIZE=2][COLOR=#0000ff][SIZE=2][COLOR=#0000ff]int[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2] newValue){[/SIZE] [SIZE=2][COLOR=#0000ff][SIZE=2][COLOR=#0000ff]int[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2] duplicate = Search(newValue);[/SIZE] [SIZE=2][COLOR=#0000ff][SIZE=2][COLOR=#0000ff]if[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2] (duplicate == -1)[/SIZE] [SIZE=2]InsertFront(newValue);[/SIZE] [SIZE=2]}[/SIZE] [SIZE=2][COLOR=#008000][SIZE=2][COLOR=#008000]//make this union of two sets[/COLOR][/SIZE] [/COLOR][/SIZE][SIZE=2][COLOR=#0000ff][SIZE=2][COLOR=#0000ff]void[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2] Union(Set& a, Set& B){[/SIZE] [SIZE=2]Node*p;[/SIZE] [SIZE=2][COLOR=#0000ff][SIZE=2][COLOR=#0000ff]for[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2] (p = a.front; p != NULL; p = p->link){[/SIZE] [SIZE=2]Insert(p->data);[/SIZE] [SIZE=2]}[/SIZE] [SIZE=2][COLOR=#0000ff][SIZE=2][COLOR=#0000ff]for[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2] (p = b.front; p != NULL; p = p->link){[/SIZE] [SIZE=2]Insert(p->data);[/SIZE] [SIZE=2]}[/SIZE] [SIZE=2]}[/SIZE] [SIZE=2][COLOR=#008000][SIZE=2][COLOR=#008000]//make this intersection of two sets[/COLOR][/SIZE] [/COLOR][/SIZE][SIZE=2][COLOR=#0000ff][SIZE=2][COLOR=#0000ff]void[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2] Intersection(Set& a, Set& B){[/SIZE] [SIZE=2]Node* p;[/SIZE] [SIZE=2]Node* q;[/SIZE] [SIZE=2][COLOR=#0000ff][SIZE=2][COLOR=#0000ff]for[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2] (p = a.front; p != NULL; p = p->link)[/SIZE] [SIZE=2]{[/SIZE] [SIZE=2][COLOR=#0000ff][SIZE=2][COLOR=#0000ff]for[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2] (q = b.front; q != NULL; q = p->link)[/SIZE] [SIZE=2]{[/SIZE] [SIZE=2][COLOR=#0000ff][SIZE=2][COLOR=#0000ff]if[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2] (p->data == q->data)[/SIZE] [SIZE=2]{[/SIZE] [SIZE=2]Insert(p->data);[/SIZE] [SIZE=2]}[/SIZE] [SIZE=2]}[/SIZE] [SIZE=2]}[/SIZE] [SIZE=2]}[/SIZE] [SIZE=2]};[/SIZE] [SIZE=2][COLOR=#0000ff][SIZE=2][COLOR=#0000ff]void[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2] main (){[/SIZE] [SIZE=2]Set setA, setB, setUnion, setIntersection;[/SIZE] [SIZE=2]setA.Insert(5);[/SIZE] [SIZE=2]setA.Insert(2);[/SIZE] [SIZE=2]setA.Insert(3);[/SIZE] [SIZE=2]setA.Insert(5);[/SIZE] [SIZE=2]setA.Insert(2);[/SIZE] [SIZE=2]cout << [/SIZE][SIZE=2][COLOR=#a31515][SIZE=2][COLOR=#a31515]"Contents of setA: "[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2];[/SIZE] [SIZE=2]setA.Output();[/SIZE] [SIZE=2]cout << [/SIZE][SIZE=2][COLOR=#a31515][SIZE=2][COLOR=#a31515]"\n\n"[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2];[/SIZE] [SIZE=2]setB.Insert(1);[/SIZE] [SIZE=2]setB.Insert(2);[/SIZE] [SIZE=2]setB.Insert(4);[/SIZE] [SIZE=2]cout << [/SIZE][SIZE=2][COLOR=#a31515][SIZE=2][COLOR=#a31515]"Contents of setB: "[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2];[/SIZE] [SIZE=2]setB.Output();[/SIZE] [SIZE=2]cout << [/SIZE][SIZE=2][COLOR=#a31515][SIZE=2][COLOR=#a31515]"\n\n"[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2];[/SIZE] [SIZE=2]setUnion.Union(setA, setB);[/SIZE] [SIZE=2]cout << [/SIZE][SIZE=2][COLOR=#a31515][SIZE=2][COLOR=#a31515]"Contents of setA union setB: "[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2];[/SIZE] [SIZE=2]setUnion.Output();[/SIZE] [SIZE=2]cout << [/SIZE][SIZE=2][COLOR=#a31515][SIZE=2][COLOR=#a31515]"\n\n"[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2];[/SIZE] [SIZE=2]setIntersection.Intersection(setA, setB);[/SIZE] [SIZE=2]cout << [/SIZE][SIZE=2][COLOR=#a31515][SIZE=2][COLOR=#a31515]"Contents of setA intersection setB: "[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2];[/SIZE] [SIZE=2]setIntersection.Output();[/SIZE] [SIZE=2]cout << [/SIZE][SIZE=2][COLOR=#a31515][SIZE=2][COLOR=#a31515]"\n\n"[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2];[/SIZE] [SIZE=2]system([/SIZE][SIZE=2][COLOR=#a31515][SIZE=2][COLOR=#a31515]"PAUSE"[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2]);[/SIZE] [SIZE=2]}[/SIZE] This is my error: error C2504: 'LinkedList' : base class undefined
hi, U have declared class LinkedList incorrectly.. Add the following closing brace and semiclon at the end of the class ie after void Output() { Node* p; // loop through each node in the list until we find a null value for (p = front; p != NULL; p = p->link) { cout << p->data << ", "; } } }; //add this....