template T Set::remove(T item) { Node *walker, *walker2; //walker2 = first; walker = first; //int pos = 0; T result = -1; if(nrOfNodes == 0) {} else if(walker->data == item) { Node *temp = first; first = temp->next; result = temp->data; delete temp; nrOfNodes--; } else { Node *walker = first; Node *temp; for(int i = 0;i < nrOfNodes;i++) { if(walker->next->data == item) { temp = walker->next; walker->next = walker->next->next; i = nrOfNodes; } walker = walker->next; } result = temp->data; nrOfNodes--; } return result; }