Возможный дубликат:
Почему я могу конвертировать & lsquo; char ** & rsquo; к константе char * const * & rsquo; в C?
Мне любопытно, почему я не могу передать функцию char **
to const char **
? Где, как это нормально, передать char *
в функцию const char *
, кажется, не все нормально делать это с помощью двух указателей. Я думал, что всегда можно добавить константу (но не так, чтобы отбросить константу), но теперь кажется, что я ошибался.
Компилятор Gcc дает мне ошибку:
note: expected ‘const char **’ but argument is of type ‘char **’
Вот фрагмент кода:
int f(const char **a) { }
int main() {
char *a;
f(&a);
}
Любые идеи?