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.