Passing around a list of differently typed functions

Bienlein via Digitalmars-d-learn digitalmars-d-learn at puremagic.com
Mon Jun 23 00:19:57 PDT 2014


On Monday, 23 June 2014 at 01:16:49 UTC, Evan Davis wrote:
> As the subject says, I would like to pass around an array of 
> functions. The trick is, that the functions have different type 
> signatures. Is there a way to put the two functions
>
> int foo(int a, int b);
> bool bar(bool a, bool b);
>
> into one array, that I can pass around and cast as necessary?
>
> Thanks, Evan

Have functions in the array without parpameters that call the 
function with the applicable parameters, e.g. int foo(int a, int 
b) or bool bar(bool a, bool b). That doesn't address the problem 
of the different return types (int and bool). So change the 
return type to void and return the value as an inout parameter.


More information about the Digitalmars-d-learn mailing list