Erroneous "auto can only be used for template function parameters"?
    Yuxuan Shui via Digitalmars-d-learn 
    digitalmars-d-learn at puremagic.com
       
    Sat Jun 20 19:37:58 PDT 2015
    
    
  
On Sunday, 21 June 2015 at 01:26:51 UTC, Adam D. Ruppe wrote:
> On Saturday, 20 June 2015 at 01:50:11 UTC, Yuxuan Shui wrote:
>> auto ref R) is indeed a template function, so I don't 
>> understand.
>
> But R is not a parameter on the function itself. It comes from 
> the outside template.
>
> Move it to the inside template, rewrite it as:
>
> 	auto a(S, R)(auto ref R i) {
> 		return cast(S)i*2;
> 	}
>
> and you should get further.
Also the same error persists even if I change 'a' to
auto a(S)(auto ref S i)
    
    
More information about the Digitalmars-d-learn
mailing list