重複の可能性:
char** から const char** への暗黙のキャスト
次のコードがあるとします。
void foo( const char ** buffer );
void bar()
{
char * buffer;
foo( &buffer );
}
foo()
関数にパラメーターがある場合、変数をconst char *
渡すときにコンパイラーが文句を言わないのはなぜですか? char *
しかし、を使用する場合は、 ?char **
に変換できません。const char **
前者の場合、コンパイラはconst
修飾子を追加しますか?
C++ 標準のセクション 4.4 を読みましたが、さらに混乱しました。