Whey мы не можем преобразовать указатель на символ → TO- > ссылку на указатель на постоянный символ
Мне интересно узнать причину синтаксической ошибки, когда мы вызываем foo_ptr. Когда foo_char разрешен, почему не foo_ptr.
[Обновление 1.] Я был бы рад узнать причину, по которой работает foo_char()
, почему foo_ptr()
не работает. Что происходит, когда указатель появляется на картинке.
[Обновление 2.]
Не работал в компиляторе Dev С++ версии 4.9.9.2 тоже..
//code
//OS : Win XP
//Env: VC++ 2008
//NOT ALLOWED
void foo_ptr(const char * & ptr) //reference to a pointer to a constant character
{
return;
}
//allowed
void foo_char(const char & p_Char) //reference to a constant character
{
return;
}
int main()
{
char ch = 'd';
char *ptr = "anu";
foo_char(ch);
foo_ptr(ptr); //NOT ALLOWED syntax error, vc++, 2008
return 0;
}