C++: error: expression in new-declarator...

Fermé
truc - 6 déc. 2011 à 10:17
Char Snipeur Messages postés 9813 Date d'inscription vendredi 23 avril 2004 Statut Contributeur Dernière intervention 3 octobre 2023 - 6 déc. 2011 à 10:31
Bonjour,


J'ai un soucis concernant une partie de mon code. Voici l'erreur;
error: expression in new-declarator must have integral or enumeration type
je ne vois pas l'erreur.

voici une partie de mon code:

float nbins =9.;
float *E1= new float[nbins+1];
float *E2= new float[nbins+1];

FILE *energie= fopen("donnees.dat","r");
for(i=0; i<nbins; i++){
fscanf(energie,"%lf \t %lf \t \n",&E1[i+1],&E2[i+1]);}
for(E=E1[i]; E<=E2[i]; E+=step){
....}

Merci pour votre aide. Bonne journée

3 réponses

Char Snipeur Messages postés 9813 Date d'inscription vendredi 23 avril 2004 Statut Contributeur Dernière intervention 3 octobre 2023 1 298
6 déc. 2011 à 10:31
L'erreur est simple, le compilateur te la donne :
expression in new-declarator must have integral or enumeration type
Si tu ne comprends pas un anglais aussi simple, tu va être sérieusement handicapé pour faire de la programmation !
En gros :
le terme dans la déclaration avec "new" doit avoir un typage d'entier ou d'enumeration
Et toi tu lui donne un float...
1
bon déjà j'ai une faute dans fscanf(energie,"%lf \t %lf \t \n",&E1[i+1],&E2[i+1]);}
J'ai réctifié: fscanf(energie,"%f \t %f \t \n",&E1[i+1],&E2[i+1]);}
Mais j'ai tjrs la même erreur...
0
scaravenger Messages postés 2685 Date d'inscription mercredi 28 mai 2008 Statut Membre Dernière intervention 30 janvier 2015 616
Modifié par scaravenger le 6/12/2011 à 10:30
Comment as tu déclaré la varaible E?
0