warnings being treated as errors
bonjour, je n'arrive pas à résoudre une erreur concernant un thread, j'ai une erreur de compilation qui concerne le constructeur de ma classe, et je ne voit pas le rapport entre le constructeur de la classe et le thread. J'aimerais qu'on m'explique pourquoi j'ai cette erreur de compilation.
voici le code de ma classe :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45
|
#include "Interpretor.h"
#include "Control.h"
using namespace std;
Control :: Control(Chlist * clist)
{
this->clist = clist;
cout << "Création de l'objet Thread "<< endl;
Start();
}
Control :: ~Control(void)
{
}
void Control::Start(void)
{
cout << "Démarrage du thread"<<": debut.\n";
pthread_create(thread,NULL,&Control::Run,(void *)&clist);
cout << "Démarrage du thread"<< ": fait.\n";
}
void Control::Join(void)
{
pthread_join(*thread,NULL);
}
void * Control::Run(void * clist)
{
int i=0;
Chlist *m_ctrl= (Chlist*)clist;
m_ctrl->printAll();
while(1)
{
i++;
cout << " execution n°" << i << endl;
sleep(1);
}
return NULL;
} |
voici le point h:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46
|
#ifndef __CONTROL_H__
#define __CONTROL_H__
#include <iostream>
#include <string>
#include <sstream>
#include <vector>
extern "C"
{
#include <unistd.h>
#include <stdio.h>
#include <stdlib.h>
#include <sys/socket.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <dirent.h>
#include <pthread.h>
}
#include <pthread.h>
#ifndef BUFFER_SIZE
#define BUFFER_SIZE 1024
#endif
using namespace std;
class Control
{
public:
Control (Chlist * clist);
~Control (void);
void Start(void);
void Join(void);
static void *Run(void * clist);
private:
pthread_t * thread;
pthread_attr_t * attr;
Chlist * clist;
};
#endif |
voici mon erreur de compilation :
Code:
1 2 3 4 5
|
cc1plus: warnings being treated as errors
Control.cpp: In constructor Control::Control(Chlist*):
Control.cpp:7: error: declaration of clist shadows a member of 'this'
make: *** [Control.o] Erreur 1 |
Merci de votre compréhension.