unqualified type significa que not expected español error dev declared conversion before c++ multithreading c++11 std stdthread

c++ - type - Error std:: thread<tipo de función sobrecargada sin resolver>



was not declared in this scope c++ español (1)

El problema es que no se puede llamar a una función miembro sin un objeto. Proporcione un puntero a this para que se utilice el objeto actual:

thread t(&ThreadClass::myThread, this, 10);

Podría usar una instancia de cualquier objeto ThreadClass , pero en su caso, parece que this es lo correcto.

NOTA: recuerde que necesita una referencia al subproceso creado para poder realizar una join() más adelante.

Estoy tratando de generar un hilo desde mi clase y el hilo ejecuta un método particular en mi clase. El código se ve así:

class ThreadClass{ int myThread(int arg){ // do something } void createThread(){ thread t = thread(myThread,10); } } ;

Este código en la compilación arroja un error que dice

std::thread::thread(_Callable&&, _Args&& ...) [with _Callable = int (ThreadClass::*)(int), _Args = {int}] no known conversion for argument 1 from ‘<unresolved overloaded function type>’ to ‘int (ThreadClass::*&&)(int)’

No estoy seguro de cuál es el error real aquí. ¿Puede alguien ayudarme con esto?

Gracias.