引数として受け取り、void *
を別の関数に返す関数を渡したかったのです。 今私は次のコードを持っている:引数を渡してvoid *を返す関数を渡す
MyClass *MyClass::bind(std::function<void*(void *)> fun) {
this->value = fun(this->value);
return this;
}
value
がMyClass
内部void *
変数であり、私は私の機能bind
に関数を渡す方法を見つけ出すことはできません。
私はそれをこの
auto *class = new MyClass();
class->bind(fooFunction);
のような関数の名前を渡ししようとすると、私はエラー
no viable conversion from '<overloaded function type>' to 'std::function<void *(void *)>'
は、私はこのコードで欲しいものを達成するために、どのような方法がありますか簡単にアプローチをしてもらいます存在する?
問題は表示されているコードに表示されているのではなく、表示しないようにしたコードにあります。エラーを再現する[MCVE]と入力し、それ以外の場合はコンパイルは最小限に抑えてください。あなたの変数名は違法なので、擬似コードはまったく無関係の理由でコード化することはできません。 – Yakk