Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
int elementsInRow = 0;
auto traceLambda = [=] (int _val) mutable
{
cout << _val << " ";
if (++elementsInRow % 5 == 0)
{
elementsInRow = 0;
cout << endl;
}
};
-> void
?Статься содержит ошибку. Так не разрешается
[&, x, &y] // захват всех переменных по ссылке, кроме x…
Если указан захват по умолчанию &
, то все явные захваты должны быть по значению. То есть &y
в данном списке не допускается.
И наоборот, если указан захват по умолчанию =
, то все явные захваты должны быть по ссылке.
Изначально я предположил, что в 2009 году черновая версия спецификации не содержала такого ограничения, но несложно проверить, что это ограничение присутствовало с самого начала.
C++0x (С++11). Лямбда-выражения