Bonjour à tous et merci à ceux qui auront la gentillesse de m'aider.
Je cherche à créer un tableau bidimensionel (matrice) grâce à un pointeur qui pointe sur un tableau de pointeur qui pointent eux meme sur des tableaux de char.
Alors ca parait un peu loufoque, pourquoi ne pas utiliser un tableau bidimensionel basique, tout simplement pour le gérer en mémoire dynamique.

Donc voila j'ai une struct matrice qui rassemble deux int m (nombre de lignes) et n (nombre de colonnes) et un pointeur pour un tableau de pointeur sur des chars.
J'ai mis une image pour mieux expliquer la chose (qui est soit dit en passant un peu tordue).


Voila le source :

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
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
Matrice.cpp:

/**
 * @file Matrice.cpp
 * Projet Projet-Le fil D'Ariane
 * @author l'équipe pédagogique 
 * @version 1 - 23/12/05
 * @brief Composant de pile avec capacité
 * Structures de données et algorithmes - DUT1 Paris 5
 */
#include <iostream>
using namespace std;
#include <fstream>
#include "Item.h"
#include "Matrice.hpp"

ici allocation de la matrice qui me rend fou
void Im(Matrice& M){
	M.tab=new Item*[M.m];
	for(int i=0;i<M.m;i++)
	{
		M.tab[i]=new char[M.n];
		}
}
//ici allocation de la matrice qui me rend fou			
Matrice.hpp:	

#ifndef _MATRICE_HPP_
#define _MATRICE_HPP_
#include "Item.h"
struct Matrice{
	int m,n;
	Item** tab; };
//ici declaration de super pointeur pour allocation dynamique

void Im(Matrice& M);


#endif //_MATRICE_HPP_
	
Item.h:
#ifndef _ITEM_
#define _ITEM_

/**
 * @file Item.h
 * Projet sem05-tp-Cpp4
 * @author l'équipe pédagogique 
 * @version 1 23/12/05
 * @brief Spécialisation du type Item
 * Structures de données et algorithmes - DUT1 Paris 5
 */

#include "Position.h"
typedef char Item;

#endif

tes.cpp:
#include <iostream>
#include <fstream>
using namespace std;
#include "Matrice.hpp"
#include "Item.h"

int main(){
	
	      int m,n;
	      Matrice M;
	      ifstream Ma;
	      char nom[45];
	      cout<< "quel est le nom du fichier a ouvrir?";
	      cin >> nom;
	      Ma.open(nom,ios::in);
	      if(Ma.fail()){
		      cout<<"bug";
		      exit(1);}
	      cout<< "nombre de lignes?";
	      cin >> m;
	      M.m=m;
	      cout<<"nombre de colonnes?";
	      cin >>n;
	      M.n=m;
	     Im(M);
	
	     Ma.close();
	
	     return(0);
}
Voila voila je pense que mon source est bon mais lorsque je débogue avec Eclipse le pointeur tab ne prend pas de structure matricielle mais simplement un pointeur sur un pointeur sur un char.
Encore merci d'avance de votre aide.