Destroy two assumptions: interface implementation generated by TMP

Baz via Digitalmars-d-learn digitalmars-d-learn at puremagic.com
Tue Aug 12 14:40:28 PDT 2014


On Tuesday, 12 August 2014 at 12:43:46 UTC, anonymous wrote:
> On Tuesday, 12 August 2014 at 12:08:14 UTC, John Colvin wrote:
>>> I think the problem is that impl3.tmp is not virtual because 
>>> it's
>>> a template, and interfaces need to be implemented by virtual
>>> methods.
>>
>> The instantiations of the template are just normal functions 
>> though, no?
>
> They are not virtual. Ordinary methods (public, not final, not
> templated) are virtual.

The virtual stuff is right. I've just realized that it's written 
black on white at the bottom of the manual page which describes 
templates:

"Templates cannot be used to add non-static members or virtual 
functions to classes"
"Templates cannot add functions to interfaces"

Sorry for the loss of time.



More information about the Digitalmars-d-learn mailing list