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