#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);
}
Почему нет ошибок/предупреждений при компиляции вышеуказанного кода?Неявное преобразование относительно константы в C++
Тип haha
: char* const
, а foo
только принимает аргумент типа const char*
. Может ли char* const
неявный конвертировать в const char*
?
Я снова открыл вопрос, так как он спрашивает о неявном преобразовании, а не о различии. – songyuanyao