Bonjour,

j'ai un petit problème de seg fault à l'exécution...

voici un extrait de la fonction où sa plante :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
void
DataMatrice::getPop(int pos, bool Cur) {
	fstream f;
	string path=_nameTab[pos]+".txt";
	f.open(path.c_str(), ios::in);
	if (!f.is_open()) {
		cout << "error::unable to open file" << endl;
	}
	string trash;
	int count=0;
	for (int i=0; i<5; i++) 
		f >> trash;
	int size;
	int n=0;
	if (Cur) {
		f >> _numTabCur;
		for (int i=0; i<_numTabCur; i++) {
			f >> _sizeTabCur[i];
		}
		_biggerSizeCur=_sizeTabCur[_numTabCur-1];
		f >> trash;
		f >> trash;
		for (int i=0; i<_numTabCur; i++)
			for (int j=0; j<_sizeTabCur[i]; j++) {
				f >> _curPop[i][j];
				cout << "_curPop[" << i << "][" << j << "]=" << _curPop[i][j] << " " << endl;
				count++;
				n++;
			}
	}
        f.close();
}
ça plante au début du if à l'instruction
j'ai vérifié en faisant :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
cout << "test1" << endl;
f >> _numTabCur;
cout << "test2" << endl;
et je n'ai bien sur que test1 qui s'affiche (avec Segmentation Fault après)

pour info, voici un extrait du header où est déclaré _numTabCur :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
const int MAX_SIZE=65530;
const int MAX=800;
 
class DataMatrice {
	private :
	string _path;
	string _nameTab[MAX_SIZE];
	int _numPop;
	float _matrice[MAX][MAX];
	unsigned short _curPop[MAX][MAX];
	unsigned short _tempPop[MAX][MAX];
	int _sizeTabCur[MAX];
	unsigned short _numTabCur;
	int _biggerSizeCur;
	int _sizeTabTemp[MAX];
	unsigned short _numTabTemp;
	int _biggerSizeTemp;
	int _sizeCompare[MAX];
	unsigned short X[MAX][MAX];
	unsigned short Y[MAX][MAX];
        [...]
        public :
        void getPos(int pos, bool Cur);
};
(le code compile, les using namespace sont à priori bien placés, à priori idem pour les header)

Merci d'avance, Léo

P.S.: je sais que le code n'est pas très optimisé (notamment les f >> trash à répétition mais ce n'est pas, pour l'instant, mon soucis le plus important)