Форум программистов, компьютерный форум CyberForum.ru

class && constructor - C++

Восстановить пароль Регистрация
 
castaway
Эксперт С++
4848 / 2987 / 368
Регистрация: 10.11.2010
Сообщений: 11,028
Записей в блоге: 10
Завершенные тесты: 1
29.06.2012, 23:16     class && constructor #1
День добрый!
Создаю кое-что для кое-чего, но внезапно столкнулся с такой проблемой...
Прототип моего класса имеет вид:
C++
1
2
3
4
5
    ...
public:
    cacher( char *, uint32_t );
    ~cacher();
    ...
* Конструктор абсолютно такой же, но, при создании класса через new возникает такая проблема:
test.cpp:12:41: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]
в строке:
C++
1
    cacher * c = new cacher( "test.bin", 8 );
Вопрос: я чего-то не знаю, что-то делаю не правильно или это глюк GCC 4.7.1 ?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Evg
Эксперт С++Автор FAQ
 Аватар для Evg
16830 / 5251 / 322
Регистрация: 30.03.2009
Сообщений: 14,144
Записей в блоге: 26
29.06.2012, 23:32     class && constructor #2
В прототипе конструктора замени "char*" на "const char*". Т.к. строковой литерал имеет тип const char*

Добавлено через 5 минут
Смысл предупреждения в том, что бы берёшь указатель на const-объект и передаёшь его в функцию, где указатель не-const. Т.е. компилятор допускает, что в функции возможна модификация по указателю, коль скоро на нём нет признака const
castaway
Эксперт С++
4848 / 2987 / 368
Регистрация: 10.11.2010
Сообщений: 11,028
Записей в блоге: 10
Завершенные тесты: 1
30.06.2012, 00:01  [ТС]     class && constructor #3
Evg, спасибо, помогло. Странно что впервые это встречаю..)

Добавлено через 24 минуты
Цитата Сообщение от Evg Посмотреть сообщение
что бы берёшь указатель на const-объект и передаёшь его в функцию, где указатель не-const.
Смысл того что ты хотел сказать понял, но теперь мне не понятно почему этого предупреждения нет в этом случае:
C++
1
    cacher  c( "test.bin", 8 );
Ведь я же беру указатель на тот же 'const-объект' и передаю его туда же по-сути!...
Evg
Эксперт С++Автор FAQ
 Аватар для Evg
16830 / 5251 / 322
Регистрация: 30.03.2009
Сообщений: 14,144
Записей в блоге: 26
30.06.2012, 01:32     class && constructor #4
Вот тут хз... Смысл данного действа по большому счёту тот же самый (с точки зрения передачи строки). Может тут есть ещё какая-то великая логика, но мне она недоступна
Yandex
Объявления
30.06.2012, 01:32     class && constructor
Ответ Создать тему
Опции темы

Текущее время: 21:49. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru