嵌套向量时出错<>在向量内<>

Errors nesting vectors<> within vectors<>

本文关键字:gt 向量 lt 出错 嵌套      更新时间:2023-10-16

我在向量中嵌套向量时遇到问题,相当于 C 中的 2D 数组。我已经尝试了在许多网站上发布的演示此内容的代码,但无济于事。

class Board
{
    public:
        vector< vector<Cell> > boardVect; //Decalre the parent vector as a memebr of the Board class    
        Board()
        {
            boardVect(3, vector<Cell>(3)); //Populate the vector with 3 sets of cell vectors, which contain 3 cells each, effectivly creating a 3x3 grid. 
        }
};

当我尝试编译时,我收到此错误:

F:\main.cpp|52|error: 对"(std::vector>) (int, std::vector)"的调用不匹配

第 52 行是:boardVect(3, vector<Cell>(3));

在使用 3 个向量

类构建父向量时出现错误是错误的吗?

您需要使用初始化列表来调用类成员上的构造函数,即:

Board()
    :boardVect(3, vector<Cell>(3))
{}

一旦你进入了构造函数的主体,就太晚了,所有成员都已经构造好了,你只能调用非构造函数成员函数。 你当然可以这样做:

Board()
{
    boardVect = vector<vector<Cell> >(3, vector<Cell>(3));
}

但首选初始化列表。