不能(隐式)从char **转换为const char **?

时间:2018-06-01 08:33:03

标签: c++

E.g。以下将无法编译:

auto foo = [](const char**) {};
char* ptr = nullptr;
foo(&ptr);
视觉工作室说,有一个失去限定符的转换。 Clang说cannot initialize a parameter of type 'const char **' with an rvalue of type 'char **“。也许我的大脑今天不工作,但为什么这个被禁止?char*可以隐含地转换为const char*

1 个答案:

答案 0 :(得分:0)

等等,是的,我的大脑今天不起作用了。 foo可以为指针分配const char*,这显然很糟糕。