Solaris Studio генерирует самые загадочные сообщения об ошибках.Неправильное добавление константы? Ошибка: нельзя использовать char ** для инициализации const char **
158 char* inbufptr = buffer;
159 char* outbufptr = outbuf;
160
161 const char** inbufptrpos = &inbufptr;
И сообщение об ошибке:
line 161: Error: Cannot use char** to initialize const char**.
Почему это должно быть проблемой добавить константность? Я застрял, пожалуйста, помогите мне ...
memory: [m y _ c h a r _ a r r a y | inbufptr | inbufptr_pos]
^ ^
| (1) | (2)
inbufptr inbufptrpos
Указатель символ * inbufptr указывает на начало массива, и не обещает держать ничего постоянного.
Теперь, если у меня теперь есть указатель char const ** inbufptr_pos, этот тип не обещает изменить содержимое массива, но я все равно могу изменить то, на что указывает указатель. Если я это сделаю, я не изменил массив, и я не вижу проблемы с этим.
Мой ответ был не таким уж плохим по сравнению с этим, или не так ли? Меня не волнует репутация, я просто хочу увидеть свою ошибку. Вы можете взглянуть, пожалуйста? :) – gsamaras
@ G.Samaras: Вы не совсем поняли пример. –
Не могли бы вы объяснить, почему я могу узнать из своей ошибки? :) – gsamaras