Cześć, dawno mnie tu nie było, ale sięgam po ostatnią deskę ratunku.
Mam funkcję:
const int* fun(const int* arr, size_t size, int& min)
{
int wielokrotnoscTmp = 0;
for (int i = 1; i < size; i++)
{
if (arr[i] < min)
min = arr[i];
}
for (int i = 0; i < size; i++)
{
if (arr[i] % min == 0 && arr[i] / min > wielokrotnoscTmp / min)
wielokrotnoscTmp = arr[i];
}
const int* wielokrotnosc = &wielokrotnoscTmp;
return wielokrotnosc;
}
zwracającą wskaźnik statyczny. Oraz wywołanie tej funkcji wraz z wyświetleniem wartości w funkcji main()
const int* funResult = fun(tab, 20, min);
std::cout << *funResult << std::endl;
No i problem w tym, że funkcja działa prawidłowo, ale te wywołanie nie zupełnie. Chcąc wyświetlić wartość wskazywaną przez wskaźnik wypisuje na wyjściu wartość 0. Zupełnie nie wiem czemu. Funkcja fun działa prawidłowo, bo testowo w środku tej funkcji wypisywałem wartość wskaźnika taka jaka powinna, a w main już nie.
Dzięki z góry za odpowiedź.
Pozdrawiam