Error_code r_search(int data, list >::iterator ¤t) { Key tmp; tmp = *current; if (current == NULL) { return fail; } else if (current == data) return success; else { current++; r_search(data, current); } //This just becomes too much of a pain, so I must switch to a class. }