首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在vectors<>中嵌套vectors<>时出错

在vectors<>中嵌套vectors<>时出错
EN

Stack Overflow用户
提问于 2011-05-14 08:51:36
回答 1查看 338关注 0票数 4

我有一个在向量中嵌套向量的问题,相当于C中的二维数组。我已经尝试了在许多网站上发布的演示代码,但都没有用。

代码语言:javascript
复制
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个向量类构造父向量时,我得到的错误是错误吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-05-14 08:57:53

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

代码语言:javascript
复制
Board()
    :boardVect(3, vector<Cell>(3))
{}

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

代码语言:javascript
复制
Board()
{
    boardVect = vector<vector<Cell> >(3, vector<Cell>(3));
}

但是初始化列表是首选的。

票数 12
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5999141

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档