Passando lambdas para std :: thread e chamando métodos de classe

Estou com problemas para usar std :: thread junto com lambdas. Eu tenho um método TheMethod onde eu deveria usar std :: thread para paralelizar algumas chamadas de função para métodos da mesma classe.

Defino uma função lambda e tento passá-la da seguinte maneira para a instância std :: thread que crio:

auto functor = 
   [this](const Cursor& c, size_t& result) ->void {result = classMethod(c);};

size_t a;
Cursor cursor = someCursor();

std::thread t1(functor, cursor, a);

t1.join();

Infelizmente, o compilador me fornece:

  /usr/include/c++/4.8/functional:1697:61: error: no type named ‘type’ in ‘class std::result_of<TheMethod...

Tentei muitas combinações na definição lambda e na maneira de chamar o construtor std :: thread, mas sempre recebo o mesmo erro. A biblioteca de threads está incluída, eu também vinculo o pthread.

Obrigado pelas dicas!

questionAnswers(2)

yourAnswerToTheQuestion