C++0x lambda
От: _nn_ www.nemerleweb.com
Дата: 18.04.10 09:43
Оценка:
Что говорит стандарт (который еще не вышел) насчет этого :

auto f0 = [](int x) { return [=](int y) { return x + y; }; };


VC выдает:

error C3499: a lambda that has been specified to have a void return type cannot return a value


А так работает, но приходится обворачивать лямбду в std::function.
auto f1 = [](int x) -> std::function<int(int)> { return [=](int y) { return x + y; }; };
http://rsdn.nemerleweb.com
http://nemerleweb.com
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.