次は私のコードです:私が達成したい何std :: bindを使用してオブジェクトポインタparamと関数をバインドする方法はありますか?
class A {};
class Test
{
public:
template <class TClass>
Test(TClass* _objPointer, void(TClass::*_func)(A*))
{
mEventFunction = std::bind(_func, _objPointer);
}
private:
std::function<void(A*)> mEventFunction;
};
class Demo
{
public:
void BindFunc()
{
mTest = new Test(this, &Demo::testFunc);
}
void testFunc(A*)
{
}
private:
Test* mTest;
};
はデモクラスに)BindFunc(です。しかし、エラーメッセージの多くのこのコードの実行: エラーC2672:「STD ::呼び出さない」:一致オーバーロードされた関数を を見つけた......
'std :: bind(_func、_objPointer、std :: placeholders :: _ 1)'。 –