【发布时间】:2012-04-30 12:48:26
【问题描述】:
给定以下代码:
void foo( const char ** buffer );
void bar()
{
char * buffer;
foo( &buffer );
}
为什么如果foo() 函数有const char * 参数,编译器在传入char * 变量时不会报错?但是当使用char **时,它无法将其转换为const char **?编译器是否在前一种情况下添加任何const 限定符?
我已经阅读了 C++ 标准的第 4.4 节,这让我更加困惑。
【问题讨论】: