我有相似類這樣: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'? –