我有相似类这样:C++ - 2D阵列作为一个方法参数
class Krzyzowka
{
protected:
char model[40][40];
int x, y;
public:
Krzyzowka() { }
Krzyzowka(char model[][40], int x, int y)
{
this->model=model;
}
};
现在,我声明在main():
char array[10][10];
并希望将其传递到:
Krzyzowka(char model[][40], int x, int y)
我做这样说:
Krzyzowka obj(array, 10, 10);
但后来我想设置的模型二维数组与传递的数组:
this->model=model;
但是编译器返回两个错误:
error: no matching function for call to ‘Krzyzowka::Krzyzowka(char [10][10], int, int)’
error: incompatible types in assignment of ‘char (*)[40]’ to ‘char [40][40]’
我怎样才能正确地做到这一点?预先感谢您的帮助。
说什么?正确传递[10] [10]数组作为[40] [40]数组? –
'Krzyzowka'是一个纵横字谜,所以为什么不使用'std :: vector'? –