Bonjour, j'ai des std::vector<double> que je dois convertir en std::vector<float> car j'appelle une fonction fortran qui utilise des floats.

Mon code est le suivant :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
 
std::vector<double> v1;
 
// on suppose que v1 possède tous plein de valeurs
 
std::vector<float> v2(v1.begin(), v1.edn())
Et là j'ai un warning du type "possible loss of data", ce qui se comprend. J'ai fait un

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
#pragma warning (disable : 4244)
dans mon .cpp mais j'ai toujours le warning. Comment le supprimer ?

Autre question : pourquoi si je fais

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
 
std::vector<double> v1;
 
// on suppose que v1 possède tous plein de valeurs
 
std::vector<float> v2 = v1;
j'ai une erreur. Quelle est la différence avec la 1e version ?

Merci d'avance