Bonsoir,
je n'arrive pas a comprendre pourquoi
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
 
int main()
{
int A[10] = {0,1,2,3,4,5,6,7,8,9};
void* add = static_cast<void*>(A);
}
semble être légal (dixit g++).

Alors que
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
int main()
{
int A[10] = {0,1,2,3,4,5,6,7,8,9};
/*const*/ char* add = static_cast</*const*/ char*>(A);
}
ne l'est clairement pas (dixit g++).

je passe donc par
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
int main()
{
int A[10] = {0,1,2,3,4,5,6,7,8,9};
/*const*/ char* add = reinterpret_cast</*const*/ char*>(A);
}
il y a mieux ?

Je suis conscient que ce que je fais est borderline, c est juste un exercice.