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

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

  1. Contributeur
    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
    1. Comment as tu déclaré la varaible E?
      0
      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