我有一个函数:相当于void(MainWindow :: * handler)()的std :: mem_fn类型是什么?
std::function<void(sp_session*)> test(void(MainWindow::*handler)())
{
return ...;
}
我想更换处理器的具有同等的std ::的mem_fn类型类型。
什么是类型?
我尝试这样做:
std::function<void(sp_session*)> test(std::mem_fn<void(), MainWindow> handler)
{
return ...;
}
但VC++ 2010吐出这些错误:
error C2146: syntax error : missing ')' before identifier 'handler'
error C2059: syntax error : ')'
error C2143: syntax error : missing ';' before '{'
error C2447: '{' : missing function header (old-style formal list?)
所以我不知道我做错了什么。
'mem_fn'是一个函数,而不是一个类型,你可以在此使用办法。 – Philipp