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.