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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
castaway
Эксперт С++
4870 / 3009 / 370
Регистрация: 10.11.2010
Сообщений: 11,059
Записей в блоге: 10
Завершенные тесты: 1
#1

class && constructor - C++

29.06.2012, 23:16. Просмотров 459. Ответов 3
Метки нет (Все метки)

День добрый!
Создаю кое-что для кое-чего, но внезапно столкнулся с такой проблемой...
Прототип моего класса имеет вид:
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 ?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
29.06.2012, 23:16     class && constructor
Посмотрите здесь:

C++ Изменение формата данных && работа с файлом
В программе объявлена переменная int x=1; определить значение выражения х>0 && x<1 ? 10/x : 10*x C++
C++ Чем оператор || отличается от оператора && ?
[struct tm] или нестыковка в C89 & C++98 & C++11? C++
C++ public class && static class
Как проверить, принадлежит ли символ заданному диапазону m...n, кроме if (c <= n && c >= m) ? C++
Почему в выражении нельзя использовать запятую вместо && C++
Нюансы синтаксиса: где, как и для чего используется && C++
C++ Напишите цикл, эквивалентный приведенному выше циклу, не пользуясь операторами && и ||
C++ Strcpy_s выдает ошибку L Buffer is too small & & 0
Abstract class & STL C++
C++ Вызвать функцию базового класса с ссылочным квалификатором &&

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Evg
Эксперт CАвтор FAQ
 Аватар для Evg
17188 / 5442 / 337
Регистрация: 30.03.2009
Сообщений: 14,769
Записей в блоге: 26
29.06.2012, 23:32     class && constructor #2
В прототипе конструктора замени "char*" на "const char*". Т.к. строковой литерал имеет тип const char*

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

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

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