void processListNodes(node *begin, node *end);
Gotta admit I didn't think of that one. That's really annoying. (then again, why would you have a function overloaded both to an integer and a pointer at the same time?)
void processListNodes(node *begin, int howMany);
I'm not arguing that this is or isn't good design, but it is something many people could plausibly write.