Bonjour à tous,
j'aimerais faire appel à vos lumières concernant deux codes. Ils ont tous les deux pour but de créer un tableau 2D dynamiquement et d'ensuite l'initialiser avec des caractères vides ( ' ').
Voici le premier, qui lui fonctionne :
Code C/C++ :
#include <iostream>
using namespace std;
void intialisation(char **tableau)
{
// ON REMPLIT LE TABLEAU DE CASE VIDE
for (int i=0; i<5 ; i++)
{
for(int j=0; j<5; j++)
{
tableau[i][j] = ' ';
}
}
}
int main()
{
char **tab;
// CREATION TABLEAU DYNAMIQUEMENT
tab = new char*[5];
for (int i=0; i<5 ; i++)
{
tab[i] = new char[5];
}
intialisation(tab);
return 0;
}
Et ensuite, le deuxième où la création dynamique du tableau a été placé dans la fonction création. Mais ce programme me donne une erreur de segmentation.
Code C/C++ :
#include <iostream>
using namespace std;
void intialisation(char **tableau)
{
// ON REMPLIT LE TABLEAU DE CASE VIDE
for (int i=0; i<5 ; i++)
{
for(int j=0; j<5; j++)
{
tableau[i][j] = ' ';
}
}
}
void creation(char **tableau)
{
// CREATION TABLEAU DYNAMIQUEMENT
tableau = new char*[5];
for (int i=0; i<5 ; i++)
{
tableau[i] = new char[5];
}
}
int main()
{
char **tab;
creation(tab);
intialisation(tab);
return 0;
}
Quelle est l'erreur du deuxième code ? Pourquoi le fait d'avoir placé la création du tableau dans une fonction à part fait-il foirer le programme (erreur de seg) ?
Merci pour votre aide!
