Don't use return for void data types, they don't return anything. Also, if your function has additional parameters which you want to modify, make sure to include them, so this is how you would do it for your function:
void (*old_AddCoin)(void *instance, int _amount); // Your function is void, so...