On Thursday, 6 July 2017 at 06:48:57 UTC, rikki cattermole wrote:
Templates+classes = require function body.

Why? Templated methods are not virtual, they are final and cannot be inherited (so its a little strange that the override is valid).

Ah well. I would've expected a compiler error, not an obscure linker error, but as Arafel said:

Finally, have also in mind that if the function had been declared abstract (as it arguably should), a compile-time error would have been generated [2].

Maybe it was an error on my part for not declaring the function as abstract? My view was that the abstract attribute on a class marks all its members as virtual unless they have a body, which is how it works in, say, Java.

Still, kinda odd that the linker is the one to call me out, and not the compiler. Pretty unexpected.

Reply via email to