Tengo una función llamada workForThread, que toma dos argumentos y devuelve vacío. Me gustaría enhebrar esta función usando algo como:Pasar múltiples argumentos a una función de enhebrar
thread(workForThread,a,b);
Dónde a
y b
son de los tipos apropiados. El código anterior no se compila, dando un error de "demasiados argumentos para llamar" ("error C2197: 'void (__cdecl *) (char *)': demasiados argumentos para la llamada")
¿Cómo puedo resolver esto? ?
Nota: He mirado thesetwo preguntas, pero las resoluciones que trabajan allí no parece funcionar para mí. Además, tengo la sensación de que hay una manera de hacerlo integrado en C++ 11, y eso es lo que estoy buscando.
C++ 11 thread tiene un constructor (con plantilla) que hace exactamente eso. – Mat
Entonces, ¿por qué me está dando ese error? – soandos
¿Qué versión de VS tienes? Tal vez no sea compatible con eso. – Mat