Conversion float to double

Résolu
Signaler
Messages postés
31
Date d'inscription
mercredi 18 février 2009
Statut
Membre
Dernière intervention
15 octobre 2009
-
Messages postés
3834
Date d'inscription
dimanche 12 décembre 2004
Statut
Modérateur
Dernière intervention
20 octobre 2021
-
Bonjour,

J'ai un probleme de conversion float, double, voila la partie du programme concerné:




float *rd, float*rq; 
double** dataIn;
double* queryIn;
dataIn= new double*[nbkp_d];

for(int i=0; i<nbkp_d; i++) 

   dataIn[i] = new double[dimvect_d];

for(int j = 0; j < nbkp_d; j++) {

   for(int i = 0; i < dimvect_d; i++)

      dataIn[j][i] = rd[i+j*dimvect_d];            ///n'affiche pas de message d'erreur, c bien

}



queryIn = new double[dimvect];

for(int j = 0; j < nbkp; j++) 

   queryIn =
rq[j*dimvect];               
///ici j'ai un message d'erreur:
error C2440: '=' : impossible de convertir de 'float' en 'double *'

J'ai essayer le cast:
for(int j = 0; j < nbkp; j++) 
   queryIn = (double)rq[j*dimvect]; 
///ici encore le message d'erreur:
error C2440: '=' : impossible de convertir de 'double' en 'double *'

J'ai essayé
for(int j = 0; j < nbkp; j++) 
   queryIn = (double*)rq[j*dimvect]; 
J'ai le message d'erreur:
error C2440: 'cast de type' : impossible de convertir de 'float' en 'double *'


J'ai regardé un peu dans les forums mais je n'ai rien trouvé....
quelqu'un de vous aurez une idee de comment resoudre ça???

Merci

PS : le probleme c'est que JE NE PEUX PAS declarer "rq" et "rd" comme double
et JE NE PEUX PAS declarer "dataIn" et "queryIn" comme float

1 réponse

Messages postés
3834
Date d'inscription
dimanche 12 décembre 2004
Statut
Modérateur
Dernière intervention
20 octobre 2021
125
C'est bizarre, tu essaie de faire rentrer une valeur dans un tableau.
Je ne sais pas du tout ce que tu cherches à réaliser, mais la solution consiste à dire je veux mettre cette valeur à une case du tableau, et non pas considérer le tableau comme une valeur scalaire (simple), ce qui est inapproprié.

Par exemple, ceci devrait te permettre de compiler:
  for(int j = 0; j < nbkp_d; j++)
    queryIn[0] = rq[j * dimvect];