Я создаю игру "Корабли". Я генерирую mField, который будет моим шаблоном для заполнения вражеского поля кораблями. Для этого я хочу скопировать mField в eField.
Мой mField - это динамический двумерный массив структур "Поле", и он заполняется следующим образом в моем файле cpp:
mField = new Field*[x+3];
for (int i = 0; i < x+3; ++i)
mField[i] = new Field[y+3];
И объявлено так в моем заголовочном файле
Field **mField;
Теперь для копирования я попробовал
memcpy(&eField, &mField, sizeof(&mField));
хотя теперь, когда я заполняю свое mField кораблями, я вижу во вражеском поле точную копию mField вместо того, чтобы быть чистым полем.
Вот как я передаю свое поле в функцию, которая меняет мое поле:
void Map::changeField(int x, int y, string ciag,Field **field) {
...
}
Я допустил какую-то ошибку в своей функции из-за того, что она изменяет оба массива, или я неправильно копирую массивы?