segmentation fault

segmentation fault - C++ - Programmation

Marsh Posté le 17-11-2005 à 12:07:17    

bonjour  
j'ai un petit prob que j'arrive pas à reésoudre.
peut etre pourriez vous m'aider.
 
dans man code, j'ai crée un tableau Err1 et un reel max:
float max=442;
vector<vector<float> > Err1;
Err1.resize(inputImage1.getYSize());
Err1[0]=Err[0];//sachant que Err est deja cree et rempli,donc 1ere ligne de Err1=1ere ligne de Err
std::cout << "1 ere ligne du tab Err1 remplie\n";
apres je veux remplir les autres lignes de Err1:
 
for (int i=1;i<inputImage1.getYSize();i++) {
        Err[i].resize(200);
         std::cout << "boucle i=" <<i<<"\n";
        for (int j=0;j<200;j++) {  
std::cout << "boucle j="<< j<<"\n";
Err1[i][j]=max;//c'est equivalent à l'etape d(i)=infini si i n'est pas une
source
        };
};
 
 
ca compile mais a l'execution j'ai:
1 ere ligne du tab Err1 remplie
boucle i=1
boucle j=0
Segmentation fault
 
donc l'erreur à mon avis doit se trouver dans
l'affectation:Err1[i][j]=max;
 
 
mais je vois pas pkoi c'est une erreur?
 

Reply

Marsh Posté le 17-11-2005 à 12:07:17   

Reply

Marsh Posté le 17-11-2005 à 13:46:08    

le problème vient surement cette ligne
 
for (int i=1;i<inputImage1.getYSize();i++) {
        Err[i].resize(200);
         std::cout << "boucle i=" <<i<<"\n";
        for (int j=0;j<200;j++) {  
std::cout << "boucle j="<< j<<"\n";
Err1[i][j]=max;//c'est equivalent à l'etape d(i)=infini si i n'est pas une
source
        }; Err[i].resize(200);
 
à remplacer par Err1[i].resize(200);

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed