static_cast de pointeurs.
Bonsoir,
je n'arrive pas a comprendre pourquoi
Code:
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:
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:
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.