次のコードがあります。
#include<iostream>
using namespace std;
typedef void (*HandlerFunc)(int, int);
HandlerFunc mr;
HandlerFunc mm()
{
return mr;
}
void sample(int a, int b, HandlerFunc func)
{
}
void main()
{
sample(1, 2, mm);
}
ここで、タイプの関数を別の関数に渡そうとしてHandlerFunc
いますが、エラーが発生しています:
エラー :*: パラメータ 3 を から
'void (__cdecl *(void))(int,int)'
に変換できません'void (__cdecl *)(int,int)'
キャストを入力すると、sample(1, 2, (HandlerFunc)mm);
すべて正常に動作します。
エラーの問題を解決する方法は誰にもわかりますか?