It means what it says.
You have defined the function to receive a char* as the first argument.
And then you try to invoke the function with an int* as the first argument.
I am dubious about the compilers claim that a pointer is not a pointer. It's a pointer.
But anyway, you need to consider what you are trying to do. Do you want the function to have a char, or an int ? Make up your mind.