Лучшее, что я мог придумать, это:
std::vector<int> c1;
int v = 10;
std::for_each(
c1.begin(),
c1.end(),
[v](int num)
{
std::vector<int> c2;
int vv=v;
std::for_each(
c2.begin(),
c2.end(),
[&](int num) // <-- can replace & with vv
{
int a=vv;
});
});
Интересная проблема! Я посплю на нем и посмотрю, смогу ли я найти что-нибудь получше.