Possible Duplicate:
lambdas require capturing 'this' to call static member function?utilisation C++ 11 lambda en fonction membre non-statique et appeler la fonction membre statique de même classe
Je veux utiliser C++ 11 lambda dans une fonction membre non-statique et appeler une fonction membre statique de même classe:
class A {
static void a() {}
public:
void x() {
[]() { A::a(); }();
}
};
Mais gcc4.6 et gcc4.7 deux eu une erreur: erreur: « ceci » n'a pas été saisie pour cette fonction lambda
Pourquoi besoin lambda « ce » depuis ' a 'est une fonction membre statique.
Et si 'x' est statique ou 'a' est la fonction de membre statique d'une autre classe, 'ceci' n'est pas nécessaire, pourquoi?
Pourquoi avez-vous besoin de lambda dans ce cas? pourquoi n'appelez-vous pas simplement 'A :: a()'? – Naveen
VS2010 SP1 se compile et s'exécute sans erreur. – Simon
L'autre question n'a pas l'ID de bogue approprié cependant. Devrait-il être modifié? – dirkgently