Whey我們不能將指針轉換爲字符 - > TO->指向常量字符的指針C++,需要錯誤原因:不能將參數1從'char *'轉換爲'const char *''
當我們調用foo_ptr時,我有興趣知道語法錯誤的原因。當foo_char被允許時爲什麼不是foo_ptr。
[更新1]我會很高興知道foo_char()
正在工作的原因,爲什麼foo_ptr()
不工作..當指針進入圖片時會發生什麼。
[更新2]中開發的C++編譯器版本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;
}
也許解析器是錯誤的,試一下'foo_ptr((const char *)&ptr' – RedX
在VC2010上編譯好的一切都可能是固定的bug? – atoMerz
@RedX:謝謝輸入,void foo_ptr((const char * )PTR)給了錯誤C2065:未聲明的標識 – anubhav16