Mój kod:
#include "pch.h"
#include <iostream>
bool alloc(int ***piTable, int iSizeX, int iSizeY) {
if (iSizeX <= 0 || iSizeY <= 0) {
std::cout << "Negative size";
return false;
}
*piTable = new int*[iSizeX];
for (int ii = 0; ii < iSizeX; ii++) {
(*piTable)[ii] = new int[iSizeY];
}
return true;
}
bool dealloc(int ***piTable, int iSizeX, int iSizeY) {
if (iSizeX <= 0 || iSizeY <= 0) {
std::cout << "Negative size";
return false;
}
for (int i = 0; i < iSizeX; i++) {
delete piTable[i]; //!!! there is an exception
}
delete piTable;
return true;
}
int main() {
int **piTable;
alloc(&piTable, 5, 3);
dealloc(&piTable, 5, 3);
return 0;
}
Dostaję błąd:
Exception thrown at 0x55E8D9CB (ucrtbased.dll) in zad2.exe: 0xC0000005: Access violation reading location 0xCCCCCCBC
Co powinienem poprawić?