Tak možností je více. Třeba naučit programátora, co je n-tice a jak může funkce/subrutina (nebo jak tomu budeme říkat) vracet 0 - n hodnot. To je poměrně základní dluh těch starších imperativních jazycích, že neznaly n-tici a pak se musely uchylovat k těm "výstupním parametrům" a podobným náhražkám.
Ukazatel na strukturu je samozřejmě validní řešení v mnoha situacích, ale moc se nehodí, když chceš vrátit třeba 2 hodnoty typu boolean nebo integer. Tam nic lepšího než tuple není a když už máš tuple, snadno ho využiješ pro funkci, která nic nevrací. A jsi tam, kde jsi potřeboval být, abys nemusel vymýšlet těžko obhajitelný rozdíl mezi "function" a "procedure".
24. 10. 2021, 09:52 editováno autorem komentáře