Зачем мне нужно приведение переинтерпретировать _для преобразования Fred **const в void **const?

У меня есть константный указатель на указатель на Fred, и я не понимаю, почему static_castнедостаточно.

typedef struct {
    int n;
} Fred;

Fred *pFred;
Fred **const ppFred = &pFred;
void **const ppVoid = static_cast<void ** const>(ppFred);

Пожалуйста, может кто-нибудь объяснить, почему reinterpret_castнеобходим для преобразования указателя на Fred*в указатель на void*, но static_castподходит для преобразования указателя на Fredв указатель на void.

12
задан Marlon 10 July 2012 в 09:58
поделиться