在 C++ 中,为什么不能将 achar**
作为参数传递给接受 的函数,而const char**
从char*
to的转换const char*
是可能的,如下所示
void f1(const char** a)
{
}
void f2(const char* b)
{
}
int main(int argc, char const *argv[])
{
char* c;
f1(&c); // doesn't work
f2(c); //works
return 0;
}
编译器输出是
test.cpp:在函数'int main(int,const char**)'中: test.cpp:15:10:错误:从 'char**' 到 'const char**' 的无效转换 [-fpermissive] test.cpp:1:6: 错误:初始化 'void f1(const char**)' [-fpermissive] 的参数 1