给定以下代码:
void foo( const char ** buffer );
void bar()
{
char * buffer;
foo( &buffer );
}
为什么如果foo()
函数有参数,编译器在将变量const char *
传递给它时不会抱怨?char *
但是在使用时char **
,它无法将其转换为const char **
? 编译器是否const
在前一种情况下添加任何限定符?
我已经阅读了 C++ 标准的第 4.4 节,这让我更加困惑。