У меня есть класс, похожий на этот: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;
}
};
Теперь я объявляю в главном():
char array[10][10];
и хочу, чтобы передать его в :
Krzyzowka(char model[][40], int x, int y)
Я делаю это так:
Krzyzowka obj(array, 10, 10);
Но я хочу, чтобы установить модель 2D массив с переданного массива:
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 '? –