我得到了错误:
没有匹配功能可调用‘mem :: GPAchunk :: get_memory(size_t&)const
和注释:
通过“ const mem :: GPAchunk *”作为“此”参数会丢弃限定符
我认为问题在于集合库的功能
operator->() const _GLIBCXX_NOEXCEPT
{ return static_cast<_Link_type>(_M_node)->_M_valptr(); }
这是我调用的功能
void mem::GPAchunk::get_memory(const size_t &amount){
m_chunkSize -= amount;
m_bPtrData = m_bPtrData + amount;
}
我称之为
i->get_memory(neededSize);
i
在这里定义
for (auto i = m_freeChunks.begin(); i != m_freeChunks.end(); i++)
答案 0 :(得分:0)
您似乎拥有std::set<GPAchunk>
。
std::set
元素是不可变的/ const
。只要不修改用作集合键的元素成员,您仍然可以抛弃constness并修改元素。