#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