I have function like this:
void findScarf1(bool ** matrix, int m, int n, int radius, int connectivity);
在主函数(main)中,我创建了一个二维动态数组来传递给这个函数。
bool matrix[6][7] = {
{0, 0, 1, 1, 1, 0, 0},
{0, 0, 1, 1, 1, 0, 0},
{0, 0, 1, 1, 1, 0, 0},
{0, 0, 1, 1, 1, 0, 0},
{0, 0, 1, 1, 1, 0, 0},
{0, 0, 1, 1, 1, 0, 0}
};
问题是:
findScarf1(matrix, 6, 7, 3, 4);
错误原因 错误 C2664:“findScarf1”:无法将参数 1 从“bool [6][7]”转换为“bool **”
如何紧凑地(同时声明)初始化数组?
p.s. 如果这是重复的问题,对不起,我花了 1.5 小时找出来。
bool matrix[6][7]
、bool matrix[][7]
和bool (*matrix)[7]
。 - Grijesh Chauhanstd::array
:std::array<std::array<bool, 6>, 7>
。此外,这不是一个动态数组。 - chris