On Sunday, 10 July 2016 at 21:27:14 UTC, pineapple wrote:
On Sunday, 10 July 2016 at 21:20:34 UTC, Basile B. wrote:
The problem you encounter here is that templatized functions cannot be virtual. If you remove "abstract" and put an empty body than it works, but you lose the whole OOP thing, i.e you cannot call the most derived override from the base.

Yeah, that was the first thing I tried, and it took me a while and some measure of annoyance to realize the base method was being called instead of the derived one.

Surely there's some reasonable workaround?

AFAIK no. OOP and templates don't mix well as main paradigm. This doesn't mean that templates can't be used in OOP (eg as template param for a class of for some helpers used in virtual function) but you see that one can break the other.

Reply via email to