Function prototypes when delay loading a DLL
===

I'm delay loading a DLL as described [here][1]. The DLL comes with a .h file that has both constant definitions and function declarations. This means that when I try to do

    MyFunction = pICFUNC(lpfnGetProcessID);  // See link above

The compiler complains "error: cannot convert 'int (*)(int, int, int)' to 'int(int, int, int)' in assignment" because MyFunction was already declared like so in the .h file:

    int __stdcall MyFunction (int, int, int);

Should I:

A) Comment out the function prototypes in the .h file and create my own using

    typedef int (__stdcall * pICFUNC)(int, int, int);
    pICFUNC MyFunction;
    MyFunction = pICFUNC(lpfnGetProcessID); 

B) Do the same as A) but give the function a different name (MyFunction_local) instead of commenting out the prototypes in the .h file.

C) Something else that I haven't thought of.

I'd like to do A), but it feels wrong to be messing with a third-party .h file like that.

  [1]: http://www.goffconcepts.com/techarticles/development/cpp/calldll.html