次の機能があると仮定します
int watchVar(const char* var, const char* descriptor,
Color (*colorfunc)(const char* var) = yellowColorFunc)
と
Color yellowColorFunc(const void* var){
return Color::yellow();
}
パラメータが、、などのwatchVar
関数を受け入れるようにオーバーロードしたいのですが、型ごとにデフォルトの色関数を作成したくありません。char
int
float
g++ で次のエラーが発生します。
xpcc::glcd::Color (*)(const char*)' has type 'xpcc::glcd::Color(const void*)
colorfunc を宣言して void ポインターを取得し、呼び出し元に後で引数をキャストするように強制する以外に別の方法はありますか?
ありがとう