gpt4 book ai didi

readonly - 在 set 容器上使用 set_intersection。

转载 作者:行者123 更新时间:2023-12-03 06:37:00 25 4
gpt4 key购买 nike

大家好:)我想创建一个个人集合类并重载运算符/=,就我的类而言,该运算符应该用于获取两个集合的插值。我收到以下错误:

错误:分配只读位置 '__result.std::_Rb_tree_const_iterator<_Tp>::operator*()'

这是给我这个错误的代码部分:

Set& operator /=(const Set& st) // Substraction Assignement operator
{
set<T> tmp;

set_intersection(m_set.begin(), m_set.end(), st.m_set.begin(), st.m_set.end(), tmp.begin());
*this = tmp;
return *this;
}

我是 C++ 新手,我不明白我想在只读位置分配一些东西......请你向我解释一下,然后告诉我我应该如何正确使用 set_intersection (来自库

抱歉我的英语不太好,谢谢你的帮助=D

最佳答案

您需要使用插入器才能使其工作。

set<T> tmp;

set_intersection(m_set.begin(), m_set.end(),
st.m_set.begin(), st.m_set.end(), std::inserter(tmp, tmp.begin()));

关于readonly - 在 set 容器上使用 set_intersection。,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20618662/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com