错误:没有用于初始化'set <int>的匹配构造函数

oct*_*ian 2 c++ size constructor stl set

在C++中,我已经包含了set库:

#include <set>
Run Code Online (Sandbox Code Playgroud)

我想创建一个具有与另一个元素相同的元素的集合.所以,我试过这个:

set<int> ret((int)ring.size());
Run Code Online (Sandbox Code Playgroud)

但是,我收到此错误:

error: no matching constructor for initialization of 'set<int>'
Run Code Online (Sandbox Code Playgroud)

任何想法如何从声明中指定集合的​​大小?

gsa*_*ras 5

任何想法如何从声明中指定集合的​​大小?

没有.

您可以将旧集合复制到新集合,从而填充集合,从而相应地增加其大小,或者向其插入唯一值,直到达到所需大小.

您可以随时检查参考中可用的构造函数.


想一想:假设你描述的构造函数存在.它必须默认初始化集合的值.但这意味着所有价值都是一样的.这应该会产生一个大小为1的集合.