Serwatka, której nie można przekształcić wskaźnika na znak -> TO-> odniesienie do wskaźnika o stałym znakuC++, Need Przyczyna błędu: nie można przekonwertować parametru 1 z "char *" na "const char *" i "
Jestem zainteresowany poznaniem przyczyny błędu składni, kiedy nazywamy foo_ptr. Kiedy foo_char jest dozwolone, dlaczego nie foo_ptr.
[Aktualizacja 1.] Byłbym szczęśliwy wiedząc, że działa foo_char()
, dlaczego foo_ptr()
nie działa. Co dzieje się, gdy wskaźnik pojawia się na obrazie.
[Update 2.] nie działał w Dev C++ w wersji 4.9.9.2 też ..
//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;
}
Może parser jest źle, spróbuj 'foo_ptr ((const char *) & ptr' – RedX
Wszystko skompilowane grzywny na VC2010 Może naprawiono błąd – atoMerz
@RedX:..? Dzięki za wejściami, nieważne foo_ptr ((const char *) & ptr) podał błąd C2065: niezadeklarowany zidentyfikowany – anubhav16