Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1082 connectés 

  FORUM HardWare.fr
  Programmation
  C++

  Tableau 2 entrées problemme borland

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Tableau 2 entrées problemme borland

n°1365904
ducseb
Posté le 14-05-2006 à 15:49:36  profilanswer
 

Bonjour,
J'ai un petit problemme avec le compilateur il bute sur une étape de compilation.
Cette etape compile bien avec gcc sous linux mais ne fonctionne pas avec  
le compilateur de borland
Voici le code:
 
istringstream fluxString(repStats);
 
getline( fluxString,nbEnregistrement,';');
getline( fluxString,nbChamps,';');
 
 
QString nombreEnregistrement(nbEnregistrement);
QString strNbChamps(nbChamps);
 
int iNbChamps=1;
int iNbEnregistrement=1;
 
iNbChamps=strNbChamps.toInt();
iNbEnregistrement=nombreEnregistrement.toInt();
 
string enregistrement [iNbEnregistrement][iNbChamps];
 
 
C'est la derniere ligne qui pose problemme il m'affiche 2 fois cette erreur:
Expression Constante Nécessaires dans la fonction .............
 
Ou est le problème ?  
Merci
 
 
 


---------------
Développeur
mood
Publicité
Posté le 14-05-2006 à 15:49:36  profilanswer
 

n°1365911
breizhbugs
Posté le 14-05-2006 à 16:21:35  profilanswer
 

iNbEnregistrement et iNbChamps ne sont pas des constantes. Donc quand tu declares le tableau il aime pô.

n°1365914
ducseb
Posté le 14-05-2006 à 16:25:03  profilanswer
 

Oue mais quand je fais ca:  
Remplacement de :

Code :
  1. string enregistrement [iNbEnregistrement][iNbChamps];


par :

Code :
  1. string enregistrement [][] = new string [iNbEnregistrement] [iNbChamps] ;


Quand je fais ca, le comiltateur me sort une autre erreur:
La taile du type 'string []' est inconue ou zero
Impossible de convertir 'string ( *)[1]' en 'string[][]'
 
et avec :

Code :
  1. string **enregistrement = new string [iNbEnregistrement] [iNbChamps] ;


le compilateur me dit:
Impossible de convertir 'string ( *)[1]' en 'string[][]'


---------------
Développeur
n°1365915
KangOl
Profil : pointeur
Posté le 14-05-2006 à 16:31:06  profilanswer
 

et ca te dirait pas d'utiliser des vector ?

n°1365916
ducseb
Posté le 14-05-2006 à 16:33:27  profilanswer
 

Oué c'est ce que l'on ma conseillé sur un autre forum mais je connait pas trop.
Sinon quelqun ma donnée quelque chose qui compile et qui à l'air de marcher bien.
C'est en fait un tableau dynamqiue à double entrée mais alloué dimmension par dimension
 
Remplacement de :

Code :
  1. string enregistrement [iNbEnregistrement][iNbChamps];

Par:

Code :
  1. string **enregistrement=new string *[iNbChamps];
  2.         for(int i=0;i<iNbEnregistrement;i++)
  3.         {
  4.             enregistrement[i]=new string[iNbEnregistrement];
  5.         }


Message édité par ducseb le 14-05-2006 à 16:34:48

---------------
Développeur
n°1365918
skelter
Posté le 14-05-2006 à 16:34:56  profilanswer
 

breizhbugs a écrit :

iNbEnregistrement et iNbChamps ne sont pas des constantes. Donc quand tu declares le tableau il aime pô.


 
constante et connue a la compilation

n°1365920
skelter
Posté le 14-05-2006 à 16:36:51  profilanswer
 

Code :
  1. vector< vector<string> > enregistrement(iNbEnregistrement, vector<string>(iNbChamps);

n°1365922
ducseb
Posté le 14-05-2006 à 16:38:44  profilanswer
 

Sur un autre forum voici ce que l'on ma répondue:
 

Citation :


DE: Laurent G. de Developpez.com
La taille des tableaux statiques doit être connu à la compilation, c'est donc Borland qui a raison cette fois. Les VLA (Variable Length Array -- ce que tu utilises là sans le savoir) sont une extension du C99, c'est pourquoi GCC les tolère par défaut si tu n'as pas les bonnes options de compilation.
 
Pour un tableau dynamique, il faut regarder du côté de std::vector.


---------------
Développeur
n°1365923
ducseb
Posté le 14-05-2006 à 16:40:47  profilanswer
 

Avec le code du dessus de skelter est-ce  possible après d'utiliser  
une ligne de type:
 
enregistrement[2][1]="toto";  
 
Comme un tableau double entrée en faite ?  


---------------
Développeur

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C++

  Tableau 2 entrées problemme borland

 

Sujets relatifs
Tableau avec des cases de bordure 1pxinsertion de donnée dans tableau excel en php
Tableau Excel en phpécriture verticale dans un tableau Word
aidez moi avec perl :mettre les données d'un fichier dans un tableaufixer des header sur un tableau
faire un tableau de correspondance: marges/pourcentageaffichage d'une page dans case de tableau
Optimisation récupération d'un gros tableau MySQL.[SOAP] Retourner un tableau
Plus de sujets relatifs à : Tableau 2 entrées problemme borland


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR