So to clarify: there are programming languages that can actually take a function as a parameter but QB64 is not one of them. The closest we might get is passing an array of a user defined type, UDT.
But you can use a function that returns a double ( or string or integer... ) as an argument to pass a double value ( or string or integer... ) to the 2nd function where it calls for a double ( or string or integer... ) in the parameters list of it's definition.
Auszahlungsdauer# = ((endkap / monatliche_abhebung) / 12.0)
The parameters list for the above FUNCTION is: (endkap AS DOUBLE, monatliche_abhebung AS DOUBLE)
We can call the FUNCTION above, like this:
PRINT Auszahlungsdauer#( x , y )
where x is a double, literal like .01234567 or variable x# or a function like: Endkapital#( with it's own arguments) but it returns a double.