结构的二维容器数组的构造函数
Constructor for a 2d container array of structs
这是我的代码,我的错误是error C2512: 'std::array<std::array<SudokuGrid::Cell,9>,9>' : no appropriate default constructor
我以为我提供了我的公共定义,但我一定错过了一些东西。我试图整合这个问题的答案,但我无法获得正确的方法
class SudokuGrid
{
private:
struct Cell{
int value;
bitset<9> pencils;
bool isSolved;
Cell(int i, bitset<9> p, bool s):
value{ i = 0 },
pencils{ p.reset() },
isSolved{ s = false }{}
};
array < array < Cell, 9>, 9 > _grid;
public:
SudokuGrid(string s) :_grid{}
{
for (int i = 0; i < 9; i++)
for (int j = 0; j < 9; j++)
{
bitset<9> p;
p.reset();
_grid[i][j] = Cell(0, p, false);
}
}
};
默认std::array
的默认构造函数构造它包含的元素。因此,SudokuGrid::Cell
必须具有默认构造函数:
Cell():
value(0),
pencils(),
isSolved(false){}
完整代码可在以下网址获得: http://goo.gl/CdpCH6
相关文章:
- 在函数中传递二维数组
- C++函数中推广二维数组
- 将二维布尔值传递给函数
- 如何将 50 行和 50 列的二维数组编码为一个为元素随机分配星号的函数?
- 如何将二维数组类型字符(字符串)作为函数参数传递?
- 通过构造函数在类中初始化二维数组
- 如何使用嵌套初始化构造函数中的一维向量初始化矩阵
- 使用递归的二维链表复制构造函数
- 如何在 c++ 中初始化构造函数中的二维数组
- 创建二维动态数组的函数
- 编写一个可以使二维数组平坦的函数
- 二维数组传入没有全局定义 (M x N) 的函数
- 如何将二维数组作为类中的私有变量,然后在构造函数中设置它
- 如何在函数中将二维数组作为参数传递,并在 C++ 中返回二维数组
- 类的二维数组和C++中的构造函数调用
- 结构的二维容器数组的构造函数
- 二维向量的复制构造函数
- 动态二维数组的复制构造函数
- c++用构造函数的值初始化类中的二维原始数组
- 用构造函数和用户输入创建一个二维数组