Lets say I have these lines of code;
std::vector<int> ints;
std::for_each(ints.begin(), ints.end(), [](int& val){ val = 7; });
However, I dont want to specify the argument type in my lambda functions, ie, I want to write something like this;
std::for_each(ints.begin(), ints.end(), [](auto& val){ val = 7; });
Is there anyway this can be achieved?
(boost::lambda doesn't need types to be specified...)
Update:
For now I use a macro: #define _A(container) decltype(*std::begin(container))
so I can do:
std::for_each(ints.begin(), ints.end(), [](_A(ints)& val){ val = 7; });