【发布时间】:2016-12-26 02:37:56
【问题描述】:
#include <iostream>
int foo(const char* keke) {
std::cout << keke;
return 0;
}
int main()
{
char* keke = new char(10);
char* const haha = keke;
return foo(haha);
}
为什么编译上述代码时没有任何错误/警告?
haha 的类型是char* const,而foo 只接收const char* 类型的参数。 char* const 可以隐式转换为const char* 吗?
【问题讨论】:
-
我重新打开了这个问题,因为它询问的是隐式转换,而不是区别。
标签: c++ type-conversion constants implicit-conversion