【发布时间】:2021-11-23 01:35:05
【问题描述】:
作为纯粹的学习体验,我希望能够使用copy 算法从向量复制到集合。这就是我想要做的:
vector<int> myVector = {0, 1, 1, 2, 2, 3, 3, 4, 5, 6};
// set<int> mySet(myVector.begin(), myVector.end());
// This works, no issues
set<int> mySet;
copy(myVector.begin(), myVector.end(), some_inserter_that_will_work(mySet));
网络上的某个地方有人建议 inserter 函数可以工作,但它给了我以下编译错误:
错误:没有匹配的函数调用'inserter(std::set&)'
【问题讨论】:
-
错误提示您使用
inserter错误。它有两个参数。 -
可能与此处相关。你知道你可以直接从向量初始化一个集合,对吧?像这样:
std::set<int> set(vec.begin(), vec.end());