<分区>
例如以下将无法编译:
auto foo = [](const char**) {};
char* ptr = nullptr;
foo(&ptr);
Visual Studio 表示存在丢失限定符的转换。 Clang 说 无法使用类型为“char **”的右值初始化类型为“const char **”的参数
”。也许我的大脑今天不工作,但为什么不允许这样做? char*
毕竟可以隐式转换为const char*
标签 c++
<分区>
例如以下将无法编译:
auto foo = [](const char**) {};
char* ptr = nullptr;
foo(&ptr);
Visual Studio 表示存在丢失限定符的转换。 Clang 说 无法使用类型为“char **”的右值初始化类型为“const char **”的参数
”。也许我的大脑今天不工作,但为什么不允许这样做? char*
毕竟可以隐式转换为const char*
最佳答案
哦等等,是的,我的大脑今天不工作了。 foo
可以将一个const char*
赋给指针,这显然是不好的。
关于c++ - 不能(隐式地)从 char** 转换为 const char**?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50639244/