Привязка ссылки типа «type» к значению типа «const type» удаляет квалификатор «const» ⇐ C++
Привязка ссылки типа «type» к значению типа «const type» удаляет квалификатор «const»
Похоже, эта проблема уже известна. но у меня нет констант в типах. Чего мне не хватает? У меня есть следующий код:
класс PlanForBlock { публика: void RegisterExtraIterator(DummyLoadIterator *ExtraIterator, const SIImpl *SInfo, Iterator2AGUAssignmentAnalisisVMP7& Iterator2AGUAnalisis) { Assert(ExtraIterator && "Не EyeQVMPDummyLoadIterator!"); ExtraIterators.push_back(ExtraIterator); если (SInfo->hasEyeQVMP7()) { bool IsGenXYIt = ExtraIterator->containsDummyIterKind(GenXY); Iterator2AGUAnalisisVMP7.addIterator(ExtraIterator, SBNonMasked, IsGenXYIt); } } }; класс OtherClass { частный: Iterator2AGUAssignmentAnalisis Iterator2AGUAssignAnalisis; публика: DummyLoadIterator * генерироватьAndRegisterDummyLoad(AGUPlanForBlock &PlanForBlock, DummyLoadIteratorKind Kind) const; } DummyLoadIterator *OtherClass::generateAndRegisterDummyLoad( PlanForBlock &PForBlock, DummyLoadIteratorKind Kind) const { auto *Iter = initDummyLoad(PlanForBlock.getBlock(), {}, Kind); PBlock.registerExtraIterator(Iter, SInfo, Iterator2AGUAssignAnalisisVMP7); вернуть Итер; } Ошибка
ошибка: привязка ссылки типа Iterator2AGUAssignmentAnalisis к значению типа const Iterator2AGUAssignmentAnalisisVMP7 удаляет квалификатор const PForBlock.registerExtraIterator(Iter, SInfo, Iterator2AGUAssignAnalisis); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ File.h:498:135: примечание: здесь передается аргумент параметру Iterator2AGUAnalisisVMP7. void RegisterExtraIterator(DummyLoadIterator *ExtraIterator, const SIImpl *SInfo, Iterator2AGUAssignmentAnalisis& Iterator2AGUAnalisis)
Похоже, эта проблема уже известна. но у меня нет констант в типах. Чего мне не хватает? У меня есть следующий код:
класс PlanForBlock { публика: void RegisterExtraIterator(DummyLoadIterator *ExtraIterator, const SIImpl *SInfo, Iterator2AGUAssignmentAnalisisVMP7& Iterator2AGUAnalisis) { Assert(ExtraIterator && "Не EyeQVMPDummyLoadIterator!"); ExtraIterators.push_back(ExtraIterator); если (SInfo->hasEyeQVMP7()) { bool IsGenXYIt = ExtraIterator->containsDummyIterKind(GenXY); Iterator2AGUAnalisisVMP7.addIterator(ExtraIterator, SBNonMasked, IsGenXYIt); } } }; класс OtherClass { частный: Iterator2AGUAssignmentAnalisis Iterator2AGUAssignAnalisis; публика: DummyLoadIterator * генерироватьAndRegisterDummyLoad(AGUPlanForBlock &PlanForBlock, DummyLoadIteratorKind Kind) const; } DummyLoadIterator *OtherClass::generateAndRegisterDummyLoad( PlanForBlock &PForBlock, DummyLoadIteratorKind Kind) const { auto *Iter = initDummyLoad(PlanForBlock.getBlock(), {}, Kind); PBlock.registerExtraIterator(Iter, SInfo, Iterator2AGUAssignAnalisisVMP7); вернуть Итер; } Ошибка
ошибка: привязка ссылки типа Iterator2AGUAssignmentAnalisis к значению типа const Iterator2AGUAssignmentAnalisisVMP7 удаляет квалификатор const PForBlock.registerExtraIterator(Iter, SInfo, Iterator2AGUAssignAnalisis); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ File.h:498:135: примечание: здесь передается аргумент параметру Iterator2AGUAnalisisVMP7. void RegisterExtraIterator(DummyLoadIterator *ExtraIterator, const SIImpl *SInfo, Iterator2AGUAssignmentAnalisis& Iterator2AGUAnalisis)
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Преобразование из строкового литерала теряет квалификатор const [дубликат]
Anonymous » » в форуме C++ - 0 Ответы
- 19 Просмотры
-
Последнее сообщение Anonymous
-