Próbuję rozwiązać zadanie bardzo proste co do pryncypiów i generalnie mój program podaje prawidłowe odpowiedzi, ale w trakcie wykonania na ostatniej linii wyskakuje: Heap Corruption Detected: after Normal block.
Ostatnia linia to delete dynamicznej tablicy. Dlaczego ten delete może wyrzucać błędy? Podczas kompilacji na SPOJ otrzymuję SIGABRT. Poniżej mój kod:
int main()
{
int t, n;
int* tab;
cin >> t;
for (int i = 0; i < t; i++)
{
cin >> n;
tab = new int[n - 1];
for (int j = 0; j < n; j++) cin >> tab[j];
for (int j = n-1; j >= 0; j--) cout << tab[j] << " ";
cout << "\n";
delete[] tab;
}
}