c++ - 不能(隐式地)从 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/

相关文章:

c++ - 你如何传递 std::array?

c++ - 自动依赖生成

c++ - QTest覆盖涂料法

c++ - 如何使用 Microsoft Visual C++ 调试器调试 MinGW EXE?

c++ - 字符指针中的内存泄漏

c++ - 如何使用 C++ 浏览目录以创建文件资源管理器

c++ - 使用 NS3 和 std::thread 的并行模拟

c++ - C++ 头文件中的 "using namespace"

c++ - 是定义函数?

C++从文本文件中获取数组字符串