On Fri, 02 Dec 2011 03:06:37 -0500, mta`chrono <chr...@mta-international.net> wrote:

Even if the current behavior (what Adam mentioned) is not a bug, I think
it seems to be a pitfall for std::programmer. The language/compiler
should be more restrictive in this case.

No, this is not a matter of allowing an invalid situation, the OP's code is perfectly viable and legal. Here is a simpler example:

abstract class Parent
{
   abstract void foo();
}

class Child : Parent
{
   override void foo() {}
}

void main()
{
   Parent parent;

   parent = new Child();
}

why should it be disallowed to declare a variable of abstract type? You aren't instantiating it. It's the act of instantiation which is not and should not be allowed.

-Steve

Reply via email to