Estoy teniendo problemas al crear un hilo
Tengo el siguiente código (simplificado a la parte donde me da error)
Atributos de la clase (Padre es una clase virtual)
Código
std::vector <std::thread> th; //Hilos de ejecucion std::vector <Padre*> padre; //Puntero a los hijos (Polimorfismo)
En el constructor de la clase hago esto
Código
padre.push_back(new HijoEjemplo(argumentos del constructor de hijo)); //Los vamos metiendo al final
Para acceder a sus métodos tengo que hacer esto:
Código
padre.at(0)->moverHijo(parametros del metodo);
Ahora lo que estoy intentando hacer es ejecutar ese metodo en un hilo
Lo he intentado como hacen en este ejemplo pero me salta un error
Ejemplo (funcion, argumentos)
Código
void bar(int x) { // do stuff... } std::thread second (bar,0);
Lo que he intentado, me da error en la primera línea
Código
error: invalid use of non-static member function
th.at(0) = std::thread(padre.at(0)->moverHijo, parametros del metodo); th.at(0).detach();
A ver si me podeis ayudar..
Un saludo y gracias