Pour le code suivant:
struct B
{
void g()
{
[]() { B::f(); }();
}
static void f();
};
g++ 4.6 donne l'erreur:
test.cpp: En fonction lambda:
test.rpc:44:21: erreur: "il" n'a pas été saisie pour cette fonction lambda
(Fait intéressant, g++ 4.5 compile le code d'amende).
Est-ce un bug dans g++ 4.6, ou est-il vraiment nécessaire de capturer le " il " paramètre pour être en mesure d'appeler une fonction membre statique? Je ne vois pas pourquoi il devrait l'être, j'ai même qualifié l'appel avec l' B::
.