#include <map>
#include <set>
using namespace std;
map <string, set<pair<int, set<int>>>> dictonary;
int s()
{
for (auto & i : dictonary["abc"])
{
i.second.insert(2); //error C2663
}
}
C2663:'std :: _ Tree> :: insert':5个重载没有'this'指针的合法转换。
i.second
被编译器const
认为是合格的,因此禁止插入。
如果它不是一个bug,我怎么能操纵呢?
如果它不是一个bug,我怎么能操纵呢?
您无法更改已插入std::set
的值,因为数据已排序且修改会使不变量无效。您需要删除/修改/重新插入或使用不同于std::set
的容器