Mógłby ktoś wytłumaczyć mi o co chodzi z return w funkcji void?
Ten kod znalazłem na stronie http://cpp0x.pl/kursy/Kurs-C++/Poziom-2/Funkcje-a-slowo-kluczowe-return/339
Przecież typ void, to typ który nie zwraca wartości, a return jest stosowany do zwracania wartości. Więc chyba return nie pasuje do void. Nie rozumiem kompletnie o co z tym chodzi, a zauważyłem, iż jeżeli braknie return w funkcji void to program wyświetli dodatkowo liczbę 0. Dlaczego tak się dzieje? Gdy jest return to zero się nie wyświetla.
#include<iostream>
using namespace std;
void wyswietl( int tablica[], int ile )
{
if( ile <= 0 )
{
std::cout << "Tablica jest pusta." << std::endl;
return;
}
int i = 0;
do
{
std::cout << tablica[ i ] << ", ";
i++;
} while( i < ile );
std::cout << std::endl;
}
int dopisz( int iLiczba, int tablica[], int ile )
{
tablica[ ile ] = iLiczba;
ile++;
return ile; //zwraca ile jest elementów po dodaniu nowego
}
int main()
{
int liczbaElementow = 0;
int tablicaLiczb[ 10 ];
wyswietl( tablicaLiczb, liczbaElementow );
liczbaElementow = dopisz( 123, tablicaLiczb, liczbaElementow );
wyswietl( tablicaLiczb, liczbaElementow );
liczbaElementow = dopisz( 321, tablicaLiczb, liczbaElementow );
wyswietl( tablicaLiczb, liczbaElementow );
return 0;
}