下面的代码片段(正确)给出C中的警告和C++中的错误(分别使用GCC和G+ +,用3.4.5和4.2.1版本进行测试;MSVC似乎不关心):
char **a;
const char** b = a;
我能理解并接受这一点
char **a;
const char* const* b = a;
但是,在纯C中,校正后的版本(使用const char*const*)仍然会给出警告,我不明白为什么. 有没有办法在不使用石膏的情况下绕过这个问题?
澄清:
void f(const char* const* in) {
// Only reads the data from in, does not write to it
}
我想在char**上调用它,那么该参数的正确类型是什么?