auf http://en.cppreference.com/w/cpp/language/class_template_argument_deduction
gibts das halbe beispiel
// deduces Foo<T>, where T is the unique lambda type std::for_each(vi.begin(), vi.end(), Foo([&](int i) {...}));
Ein compilierfähiges Beispiel wäre folgendes:
template<typename T> struct Foo { Foo(T lambda) : lambda(lambda) { } void operator()(int y) { lambda(y); } T lambda; }; int main() { std::vector<int> vi {1,2,3}; std::for_each(vi.begin(), vi.end(), Foo( [&](int i) { std::cout << i << "\n";} )); }
g++ --version
g++ (GCC) 7.1.0
g++ -std=c++17 lambdaFoo.cpp
$ ./a.out
1
2
3
Aber hat irgendjemand eine Idee, was man damit anfangen soll? Mir erschließt sich das gerade nicht.