使用以下代码
void TestF(const double ** testv){;}
void callTest(){
double** test;
TestF(test);
}
我明白了:
'TestF' : cannot convert parameter 1 from 'double **' to 'const double **'
我不明白为什么。为什么test
不能默默地投到const double**
?我为什么要明确地这样做?我知道
TestF(const_cast<const double**>(test))
使我的代码正确,但我觉得这应该是不必要的。
我缺少一些关于const的关键概念吗?