次のコードで
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に関するいくつかの重要な概念はありますか?