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:26:10 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.
But surely nested template should be able to access outer
template's parameter.
More information about the Digitalmars-d-learn
mailing list