From the code fragments you have posted, it appears that you haven't actually allocated the mesh object. Declaring the pointer like this:
Mesh* monkey;
doesn't initialise the pointer or allocate any memory, so its value is undefined. That's why the loading code is crashing. Because the mesh pointer is invalid, and pointing to some garbage memory.
It should be something more like:
Mesh* monkey = new Mesh();
Then at least you will have a valid pointer which you can then legitimately refer to in the loader code.