Mam taki kod programu:
#include<iostream>
using namespace std;
template <typename T>
T max5(T a[], int n = 5);
int main()
{
double tab[4];
cout<< "Podaj piec liczb do tablicy: " << endl;
for (int i = 0; i < 5; i++)
{
cin>>tab[i];
}
double wynik = max5(tab);
cout<< "Najwyzsza liczba podana w tej tablicy wynosi: "<< wynik << endl;
cin.get();
cin.get();
return 0;
}
template <typename T>
T max5(T a[], int n)
{
T maX = 0;
for (int i = 0; i < 5; i++)
{
if (a[i] > maX)
{
maX = a[i];
}
}
return maX;
}
Program ma za zadania z podanej przez użytkownika tablicy wybrać największą wartość. Program to robi i nawet pokazuję, ale przy zakończeniu programu wyświetla break'a o takim komunikacie: Run-Time Check Failure #2 - Stack around the variable 'tab' was corrupted.
Może ktoś powiedzieć dlaczego?