Mille poolest erineb tühine funktsioon teisest funktsiooni tüübist C ++?


Vastus 1:

C või C ++ tähenduses „tühine funktsioon” tähendab lihtsalt funktsiooni, mis ei tagasta väärtust. Kui funktsioon eksisteerib ainult eesmärgiga midagi teha, mitte väärtuse tagastamiseks, siis muutke see kehtetuks, näiteks nii:

tühine PrintProduct (topelt a, topelt b)
{
   printf ("% f", a * b);
   tagasi; // pange tähele, et tagastamisväärtust pole!
}

Kuid kui soovite, et funktsioon tagastaks väärtuse, mis on selle sisendite funktsioon (st programmeerimisfunktsioon, mis toimib nagu matemaatikafunktsioon), peate kirjutama tühise funktsiooni:

topelt toode (topelt a, topelt b)
{
   tagasi a * b; // pange tagasi väärtus!
}

Vastus 2:

Rangelt võttes ei ole tühine funktsioon mitte „funktsioon”, vaid protseduur. Põhjuseks on see, et funktsioon tagastab väärtuse väärtuse ja muuseas on see erinevus ka tühise funktsiooni ja muude funktsioonide C & C ++ vahel, tühine funktsioon ei anna väärtust, kui muud funktsioonitüübid tagastavad määratud tüüpi objekti funktsiooni allkirja järgi.