Return by 'ref' problems...

Artur Skawina art.08.09 at gmail.com
Wed Feb 19 11:55:07 PST 2014


On 02/19/14 17:20, Remo wrote:
> 
> This code does compile.
> [code]
> ref int min(ref int lhs,ref int rhs) {
>     return lhs > rhs ? rhs : lhs;
> }
> auto fptr = &min;
> 
> pragma(msg,typeof(fptr).stringof);  //int function(ref int lhs, ref int rhs) ref
> [/code]
> 
> But how to manually specify type of fptr?
> 
> This does not compiles
> [code]
> int function(ref int lhs, ref int rhs) ref  fptr3 = &min; //Error:  no identifier for declarator int function(ref int lhs, ref int rhs)
> [/code]
> 
> this one too.
> [code]
> ref int function(ref int lhs, ref int rhs)   fptr3 = &min; //Error: only parameters or foreach declarations can be ref
> [/code]

   alias extern(C) ref int function(ref int lhs, ref int rhs) Ftype;
   Ftype fprt;

artur


More information about the Digitalmars-d mailing list