Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Gente, agora, estou criando um objeto para monitorar um arquivo com C+, e para fazer um loop sem ocupar o programa, estou utilizando (ou melho, tentando utilizar) threads.
Fiz na minha classe uma função e estou criando um thread para dispará-la. Veja meu código abaixo:
#include <cstdlib>
#include <iostream>
#include <windows.h>
typedef const char* str;
class FileCom{
private:
str FileStr;
FILE* arq;
unsigned long iID;
void WINAPI Execute(void);
public:
//construtor
FileCom();
HANDLE hThread;
//propriedades
//metodos
void Iniciar(str FileName);
};
FileCom::FileCom(){
}
void FileCom::Iniciar(str FileName){
FileCom::hThread = CreateThread(NULL,0,&(LPTHREAD_START_ROUTINE)Execute,NULL,0,&iID);
}
//metodos privados
void FileCom::Execute(void){
}
a linha do erro é a que tem "FileCom::hThread = CreateThread(NULL,0,&(LPTHREAD_START_ROUTINE)Execute,NULL,0,&iID);" no procedimento "Iniciar" do objeto
o erro retornado é "argument of type 'void(FileCom::)()' dow not match 'DWORD()(void)'
Bom, gente, gostaria de saber se alguem pode me ajudar
obrigado
Carregando comentários...