Witam,
Napisałem sobie takie funkcje:
void fun1(int *t)
{
menu(t);
}
void menu(int *t)
{
int odp = 0;
int *liczba = new int;
std::cout << "Wybierz opcje:\n1-Dodaj, 2-Odejmij\n";
cin >> odp;
cin >> *liczba;
unsigned int *d = dodawanie(liczba, odp);
delete[] d;
}
unsigned int *dodawnie(int *liczba, int odp)
{
unsigned int *wyniki = new unsigned int[3];
if(odp == 1)
{
for(int i=0; i<10; i++)
{
wynik[i] = *liczba+i;
}
}
else if(odp == 2)
{
for(int i=0; i<10; i++)
{
wynik[i] = *liczba+i;
}
}
return wyniki;
}
Gdy uruchomię ją w pętli kilka razy, to pojawiają się czasami dziwne wyniki, a po jakimś czasie następuje zrzut pamięci. Co robię nie tak? Czy błąd jest w tym zapisie?
unsigned int *d = dodawanie(liczba, odp);
delete[] d;