You've already been told what's wrong with your code Cameron, now you just need to find how to apply it. In case you missed it, here it is again. --- Well, you took out something, but did you take out everything related to class? Judging by your wholist example below, I'd say no, you didn't. --- You didn't fully eliminate the class entry, thus you have one too many pointers, hence you've got a "null" pointer, which, your compiler should be complaining about.
This is common C, as Dennis said, you're probably going to have a great amount of problems if you can't understand what's causing your problem.

