Изменение константного *char |
Здравствуйте, гость ( Вход | Регистрация )
Изменение константного *char |
Sokoloff |
1.4.2010, 16:50
Сообщение
#1
|
Участник Группа: Участник Сообщений: 237 Регистрация: 1.4.2009 Из: Москва Пользователь №: 654 Спасибо сказали: 50 раз(а) Репутация: 11 |
Переношу некоторые функции из чисто C-шного проекта в свой на C++.
В оригинальном проекте есть функция Переношу к себе получаю ошибку "некорректное преобразование из ‘const char*’ в ‘char*’". Вроде понятно почему, т.к. параметр у функции "const char *buf", то для strchr выбирается константный вариант ( const char *strchr(const char *_s, int _c) ). А результат присваивается неконстантной переменной. Но мучает вопрос. Почему компилится сишная программа. Ведь "const char *buf" это указатель на константную строку, а в предпоследней строке мы меняем ее. Или в чистом C соnst работает по другому? Сообщение отредактировал Sokoloff - 1.4.2010, 17:03 |
|
|
Iron Bug |
1.4.2010, 18:52
Сообщение
#2
|
Профессионал Группа: Модератор Сообщений: 1611 Регистрация: 6.2.2009 Из: Yekaterinburg Пользователь №: 533 Спасибо сказали: 219 раз(а) Репутация: 12 |
|
|
|
Текстовая версия | Сейчас: 1.12.2024, 22:32 |