tu n'es pas oblige d'utiliser des constantes en allocation dynamique. Par contre les new, avis perso, sont valables pour instancier une classe car ils appellent le constructeur mais ici malloc ferait l'affaire en moins de code genere. Si tu vises win32 alors HeapAlloc() sera encore + direct.
BruNews, ciao...
-------------------------------
Réponse au message :
-------------------------------
> Merci a tous de l'aide que vous m'apportez, le probléme est que je ne peux pas definir de constantes, en effet, la taille du tableau doit etre declaree en dynamique, c une variable calculée, et les chaines sont aussi insérées en dynamique dans le tableau (à l'execution et non a la compilation), en fait, je fais un generateur de pages html, qui contiendra un nombre de photos precisé par l'utilisateur, et l'utilisateur entrera lui même les chaines de caractére pour les commentaires de chaque photo, ensuite, lorsque je construit ma page html, je fais une boucle sur le nombre de photos en affichant a chaque fois le commentaire correspondant a la photo. Voila donc le probleme
> Merci
> PAulien
>
>
>
>
> -------------------------------
> Réponse au message :
> -------------------------------
>
> > ben voile, on arrive au meme point, alloc des differents espaces pour chaque string et maintenant oui que va tourner.
> > et vive La Rochelle.
> > BruNews, ciao...
> >
> >
> > -------------------------------
> > Réponse au message :
> > -------------------------------
> >
> > > Ce que veux expliquer BruNews et ce qui m'apparait comme la solution du problème:
> > >
> > > #define SIZE ...
> > > #define CHAINE1 ...
> > > #define CHAINE2 ...
> > >
> > > char** Tableau = new char* [SIZE];
> > >
> > > Tableau[0]=new char [strlen(CHAINE1) + 1];
> > > strcpy(Tableau[0], CHAINE1);
> > >
> > > Tableau[1]=new char [strlen(CHAINE2) + 1];
> > > strcpy(Tableau[1], CHAINE2);
> > >
> > > // Utilisation ...
> > >
> > > // Libération de la mémoire
> > > for(int i=0;i<SIZE;i++)
> > > delete [] Tableau[i];
> > >
> > > delete [] Tableau;
> > >
> > >
> > > Kaid -
kaid.fr.st> > >
> > > -------------------------------
> > > Réponse au message :
> > > -------------------------------
> > >
> > > > Entre Rochelais j'aimerais bien t'aider mais la je ne pige pas le blem.
> > > > Ce que BruNews t'a répondu ne me semble pas correcte du tout, on peut tout à fait faire comme tu as fais sans allouer à chaque espace mémoire une valeur. C'est bien d'ailleur l'interêt de cette méthode. Dis moi quel est ton compilateur ? Sous quel environnement tu programme ? et enfin quel est la taille de ton SIZE ?
> > > > A+.
> > > > Bouba
> > > >
> > > >
> > > > -------------------------------
> > > > Réponse au message :
> > > > -------------------------------
> > > >
> > > > > Bonjour à tous !
> > > > > J'essaie de déclarer un tableau de chaines de caractéres dynmiquement, j'ai essayé cette methode, ca ne fonctionne pas, la compilation marche, mais au run time, il y'a une erreur du genre : la memoire ne peut pas etre 'read' ! comme dirais mon prof d'info ! lol
> > > > >
> > > > > char** Tableau = new char* [SIZE];
> > > > >
> > > > > Je ne vois absoluement pas l'erreur que j'ai faite, enfin, c les joies de la programmation !!!!
> > > > >
> > > > > Paulien - La Rochelle - BTS IRIS
> > > > > http://www.iris2004.fr.st
> > > >
> > >
> >
>