Можно создать дубликат:
Implicit cast from char** to const char**Объяснение: Преобразование 'символ **' до 'сопзЬ гольца **', преобразование теряет отборочные
Учитывая следующий код:
void foo(const char ** buffer);
void bar()
{
char * buffer;
foo(&buffer);
}
Почему функция foo()
имеет параметр const char *
, компилятор d Не жалуетесь, когда передаете в него переменную char *
? Но при использовании char **
он не может преобразовать его в const char **
? Добавляет ли компилятор какие-либо квалификаторы const
в первом случае?
Я прочитал раздел 4.4 стандарта C++, и это еще больше смутило меня.
Как изменить код, указанный выше, чтобы компилировать его правильно? – MarkP