gpt4 book ai didi

c++ - 如何创建具有默认值的二维 vector 数组?

转载 作者:行者123 更新时间:2023-11-28 05:20:58 26 4
gpt4 key购买 nike

如何创建 NxM 2D int vector 并为其创建默认值?

在这里,我尝试创建一个具有一些值的 3x3 int vector :

vector< vector<int> > m(3, vector<int> (3)) = {
{1,2,9},
{8,4,7},
{5,6,0}
};

但是这个错误

> g++ a.cpp -std=c++11

error: expected ‘,’ or ‘;’ before ‘=’ token
vector< vector<int> > m(3, vector<int> (3)) = {
^
error: expected ‘}’ at end of input
}

我也在使用c++11,所以上面的语法不应该是正确的吗?根据this answer ,应该没问题吧?

最佳答案

如果您删除括号中的内容,它会正常工作。维度由初始化列表的大小决定。如果你想自己指定大小,你可以使用std::array

std::vector< std::vector<int> > m= {
{1,2,9},
{8,4,7},
{5,6,0}
};

初始化数组有点不同。参见 this question .你需要双括号。

#include <array>
std::array< std::array<int, 3>, 3 > m= {{
{1,2,9},
{8,4,7},
{5,6,0}
}};

关于c++ - 如何创建具有默认值的二维 vector 数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41509982/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com