Bonjour,
dans mon programme, j ai l impression que je ne peux declarer qu un nombre limiter d'image dont voici le constructeur
Image(int nb_lig, int nb_col, int dim) // constructeur
{
nblig_ = nb_lig;
nbcol_ = nb_col;
dim_ = dim;
nbelement_ = nb_lig*nb_col*dim;
tab = new double[ nbelement_ ];
for(int k=0; k<dim_; k++)
for(int i=0; i<nblig_; i++)
for(int j=0; j<nbcol_; j++)
tab[i*nbcol_ + j + k*(nbcol_*nblig_)] = 0;
isDefined_ = 1;
}
tab est un pointeur vers un double
1er core dump : apres de nombreux calculs et declaration (programme relativement long) la declaration d une nouvelle image me fait un core dump. J ai verifie avec ddd que nbcol_, nblig_ et dim_ sont bien assignés
2eme core dump : je deplace la déclaration de l'image qui m a fait planté et je l a met juste avant la declaration d'image precedente. En gros ma derniere image est devenue l avant dernuiere et l avant derniere est devenue la derniere : je fais un core dump sur l'image qui est devenu la derniere
Est ce qu il y a une erreur dans ce constructeur ?
ddd dit que l erreur est a chaque fois sur la ligne du new.
Mon compilateur est gcc/g++ version 3.4.1 (Mandrakelinux 10.1 3.4.1-4mdk)
merci pour votre aide