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