Я столкнулся с ошибкой, поскольку тема говорит: assignment of data-member ‘RootBoxT<CORE::DoubleWrapper>::innerBox_’ in read-only structure
.Я «могу» знать, почему это происходит, но мне нужно больше узнать о правилах.
Я сделал все экземпляры для RootBoxT
как const
, а переменная-член *innerBox_
класса RootBoxT
также имеет тип const
.В одном из методов класса RootBoxT
мне нужно обновить *innerBox_
, поэтому я вызвал delete
, чтобы освободить память innerBox_
, и присвоил ему другой указатель const.
Мои вопросы таковы:
- Является ли это правильным методом, когда мне нужно обновить значение константного указателя, я просто удаляю его и присваиваю с помощью другого константного указателя?
- Является ли эта ошибка причиной того факта, что экземпляр
RootBoxT
равен const
, но один из методов изменил место, на которое указывает переменная-член?Если нет, то почему это происходит?Если это так, я должен просто изменить эти экземпляры на неконстантные?
Я действительно испортил ключевое слово const
для своего текущего проекта, так как я довольно плохо знаком с C ++.Спасибо.