Проблема здесь в том, что vector<vector<int>> * pointer;
- это указатель на вектор векторов. Это отличается от того, что вы положили в эту строку:
pointer[i][j] = &arry[i][j];
Здесь вы устанавливаете позицию в вашем векторе как указатель на int. То есть &arry[i][j]
- это int *
. pointer
, с другой стороны, является std::vector<std::vector<int *>>
. Компилятор не знает, что делать для преобразования этих двух значений друг в друга.
То, что вы на самом деле хотите, чтобы pointer
был std::vector<std::vector<int *>>
:
std::vector<std::vector<int *>> pointer;