Salut J'ai un problème avec la matrice dynamique 2D.Crash de tableau dynamique 2D C++
int main()
{
double **M;
int M_dimension;
int i;
M_dimension = 10;
M = new double *[M_dimension];
for (i=0;i<M_dimension;i++)
{
M[i] = new double[M_dimension];
}
M[0][0] = 1.0;
...
}
programme fonctionne, mais je voudrais initialiser tableau 2D en utilisant une telle fonction:
void initialize2D(double **M,int M_dimension)
{
int i;
M = new double *[M_dimension];
for (i=0;i<M_dimension;i++)
{
M[i] = new double[M_dimension];
}
}
Enfin, le programme se présente comme suit:
int main()
{
double **M;
int M_dimension;
int i;
M_dimension = 10;
initialize2D(M,M_dimension);
M[0][0] = 1.0; //crash
...
}
Malheureusement, il se bloque à M[0][0] = 1.0;
Merci pour toute aide ou suggestion.
Si cela est pour pratique je vous recommande d'utiliser un vecteur de vecteurs. C'est beaucoup plus facile à gérer. –
Un vecteur de vecteurs a son propre ensemble de problèmes. Vous ne voulez généralement pas de tableau dentelé, et le vecteur de vecteurs n'a pas la même localisation qu'un seul tableau 2d contigu – jalf