Я хотел немного поиграть с лямбдами и для каждого (для цикла на основе диапазона, а не для STL for_each) в C ++ 0x. Поэтому я пошел в вики и попытался переписать примеры из вики, используя лямбды:
std::vector<int> some_list;
some_list.push_back(42);
some_list.push_back(37);
int total = 0;
int value = 5;
for(int& x:some_list)
{
[](int x)
{
cout << "xL=" <<x <<endl;
};
}
for(auto x:some_list)
cout<< "x="<<x<<endl;
return result;
}
Проблема в том, что я не вижу никакого cout в лямбда-версии, для каждой версии печатается x красиво ... Я предполагаю, что невозможно смешивать для каждого и лямбда-выражения, потому что лямбда-выражения могут быть только вместо функции ", и не может выступать в качестве тела цикла, но я не уверен, поэтому, если кто-то может подтвердить, это было бы круто
компилятор: GCC 4.6