RE: [sv-ec] Calling a virtual method whose body not defined.

From: Rich, Dave <Dave_Rich_at_.....>
Date: Fri Feb 08 2008 - 00:31:19 PST
You don't know what the original intent was - he could have forgotten to
define the method body, or he could have mistakenly declared it as
extern instead of pure. The 1800-2005 rules as well as the P1800-2008
rules require an out-of-class method body for an extern method. 

There were no rules in the 1800-2005 LRM for defining a pure virtual
method. What has happened is that implementations have gone in three
different directions in denoting a pure virtual method: using the "pure"
keyword as approved by mantis 1308, using the "extern" keyword (and
ignoring the rule that requires an eventual body), or assuming a method
with no statements is a pure virtual method (even though it is a legal
method body).

> 
> >From: Steven Sharp <sharp>
> 
> >You are right, since he mistakenly declared the virtual task as
extern.
> >If you remove the extern keyword, then you get the situation that I
> >assumed from his description.
> On second thought, this is not quite sufficient.  With the 2008 rules,
he > would have to add "pure" to the declaration.  With the 2005 rules,
he 
> would have to add an empty body.


-- 
This message has been scanned for viruses and
dangerous content by MailScanner, and is
believed to be clean.
Received on Fri Feb 8 00:31:55 2008

This archive was generated by hypermail 2.1.8 : Fri Feb 08 2008 - 00:34:27 PST