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
3829
Date d'inscription
dimanche 12 décembre 2004
Statut
Modérateur
Dernière intervention
8 janvier 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
3829
Date d'inscription
dimanche 12 décembre 2004
Statut
Modérateur
Dernière intervention
8 janvier 2021
114
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];