我有一個函數:相當於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