Bonjour,
J'étudie pour l'instant les conversions de type explicite, et je rame avec reinterpret_cast. Probablement s'agit il d'une mauvaise compréhension du fonctionnnement de ce cast mais voici le test que je tente d'éffectuer :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
double *p1;
    double x = 5;
    p1=&x;
    cout << "Adresse de p1 : " << p1 << endl;
    cout << "Valeur pointee par p1 : " << *p1 <<endl;
    float *p2 = reinterpret_cast<float*>(p1);
 
    cout << "Adresse pointee par p2 : " << p2 << endl; // adresse bien identique à adresse p1
    cout << "Valeur pointee par p2 : " << *p2 << endl; // mais si je déréférence p2 ... alors la valeur obtenue est 0 ???
reinterpret_cast permet bien de caster des types différents tel que double* vers float* pourquoi c'est pas marche ?? Quelqu'un peut-il m'éclairer sur mon erreur ?
Merci d'avance