2013-08-31 9 views

Odpowiedz

3

Jak o

using my_function_type = std::function<void(int)>; 
+0

VS2012 nie działa! – linquize

+0

@linquize Następnie użyj 'typedef'. –

7

Można użyć decltype aby uzyskać typ dokładny:

auto fn = [&] (int x) { doSomething(x, 3); }; 
    using lambda_type = decltype(fn); 

Ale jeśli po prostu chcesz wiedzieć zgodną, bardziej ogólny typ , powiedzmy, że przekazując lambdę jako argument do innej funkcji, możesz użyć std::function<void(int)> (jak Jo achim wzmianki).

1
typedef std::function<void(int)> my_function_type; 

Works w VS2012

Powiązane problemy