0

我想将集合调整为 0,但在第 16 行出现错误。如何将集合调整为空集?在第 16 行,调整大小算法给出了错误。

#include <iostream>
#include <set>
#include <algorithm>
using namespace std;

int main()
{
    set<int> p;
    set<int> a[2];
    p.insert(0);
    p.insert(1);
    a[0] = p;
    a[0].insert(3);
    set<int>::iterator it;

    for (it = a[0].begin(); it != a[0].end(); ++it)
        std::cout << ' ' << *it;

    a[0].resize(0);
    cout << a[0].size();

    return 0;
}
4

4 回答 4

3

只需使用以下clear方法std::set

于 2013-06-07T18:20:14.323 回答
1

std::set 没有 resize 成员。也许您在考虑 std::vector ?

但是对于任何 STL 容器,清除它的惯用方法是使用 clear()。

a[0].clear();
于 2013-06-07T18:20:26.310 回答
1

std::set 没有调整大小的功能。使用 std::set 容器的 clear() 方法

a[0].clear();
于 2013-06-07T18:28:14.363 回答
0

您可以删除a(整数集),如下所示:

std::set<int>().swap(a);
于 2018-07-10T08:04:36.640 回答