Como converter “ponteiro para tipo de ponteiro” para const?

Com o seguinte código

void TestF(const double ** testv){;}
void callTest(){
    double** test;
    TestF(test);
}

Eu entendi isso:

'TestF' : cannot convert parameter 1 from 'double **' to 'const double **'

Eu não consigo entender o porquê. Por quêtest não pode ser silenciosamente lançado paraconst double**? Por que devo fazer isso explicitamente? Eu sei disso

TestF(const_cast<const double**>(test)) 

faz meu código correto, mas acho que isso deve ser desnecessário.

Existem alguns conceitos-chave sobreconst&nbsp;que eu estou sentindo falta?