Не удается перехватить статический член с помощью вложенной лямбды
У меня проблема с вложенной лямбда-функцией, которая не может видеть статический член класса. Visual Studio 2010 дает мне C2065 (необъявленный идентификатор) по причинам, которые я не могу понять.
Вот простой случай, который подчеркивает мою проблему:
#include
#include
using namespace std;
struct foo
{
void do_some()
{
std::vector a;
std::vector b;
for_each( a.begin(), a.end(), [&] ( const int& m )
{
// works
auto j = _i + 1;
for_each( b.begin(), b.end(), [&] ( const int& n )
{
**// doesn't work**
auto k = _i + 1;
} );
} );
}
static int _i;
};
int main(int argc, char* argv[])
{
}
Кто-нибудь знает, что яя делаю неправильно?
Спасибо христианин