c++ - 初始化 vector 的 vector 的类构造函数

标签 c++ class vector

我想在我的构造函数中初始化一个 bool vector 的 vector 。

这是我的课:

class MyClass{
public:
    MyClass(const OtherClass&g):
        g(g), count(g.node_count(), std::vector<bool>(16))){}


private:
    const OtherClass&g;
    std::vector<std::vector<bool>>count;
};

但是当我尝试初始化 count 时,我得到了这个错误:

error: no match for call to ‘(std::vector<std::vector<bool> >) (int)’

最佳答案

您想使用 fill constructor .如果您不使用 C++ 11,则需要为 vector 中的元素指定默认值 count(g.node_count(), std::vector<bool>(16, true))

关于c++ - 初始化 vector 的 vector 的类构造函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40997774/

相关文章:

c# - 何时在 C# 中使用静态类

r - 使用向量将多个 csv 文件读入到 r

c++ - 如何在不复制数据的情况下从类中返回大 vector

java - 访问线程并运行 Thread 类中的方法

php - 将函数分配给类的属性

c++ - 在 "template"和函数声明之间使用:template<typename trait> using tr = base_trait<trait> void fn(tr::type arg) { ... }

c++ - 如何从 std::locale 对象获取一个方面?

c++ - 具有动态分配内存的 vector 无法删除最后一个

c++ - 让 Xcode 强制跨虚拟函数执行数据类型和常量

c++ - 区分读取循环中的失败和文件结尾