Я начал преобразовывать все массивы в std :: vector и на полпути я запустил код.Это не решило мою проблему, но я нашел причину ошибки.это было в этой функции:
void cpy(int** arr, int x, int y){
for(int i = x; i < x + len; i++){
for(int j = y; j < y + len; j++){
mat[i][j] = arr[i][j];
}
}
}
Ошибка очень заметна, я исправил ее:
void cpy(int** arr, int x, int y){
for(int i = 0; i < len; i++){
for(int j = 0; j < len; j++){
mat[i][j] = arr[i + x][j + y];
}
}
}
Хотя это очень странно.Я ожидал получить «индекс массива вне границ» или «ошибку сегментации» при запуске неверного кода в строке: mat [i] [j] = arr [i] [j];
В любом случае спасибоВы все за вашу помощь.