У меня проблемы с инициализацией вектора указателей на указатели (что я не должен делать в любом случае, я думаю, но, пожалуйста, прости меня).
У меня в основном есть указатель z
на переменную, содержащую 0
, и теперь я хочу инициализировать матрицу, которая содержит указатели на этот указатель.
void example(int nrow, int ncol) {
int zero = 0;
int* z = &zero;
int size = nrow * ncol;
vector<int **> pointerMatrix(size);
for (int i = 0; i < size; i++) {
int** a = &z;
pointerMatrix.push_back(a);
}
//following line throws an exception:
cout << **pointerMatrix[0] << endl;
}
Теперь приведенный выше код вызывает исключение, очевидно, по адресу, на который указывает указатель, ничего не найдено.
Кто-нибудь видит мою ошибку?