Created on 2004-09-23.00:00:00 last changed 162 months ago
[Voted into WP at the October, 2006 meeting.]
Proposed resolution (October, 2005):
Change 9.2.3 [dcl.fct.spec] paragraphs 5-6 as indicated:
The virtual specifier shall
onlybe used in declarationsof non-static class member functions that appear within a member-specification of a class definition; see 11.7.3 [class.virtual].
The explicit specifier shall be used only in
declarationsof constructorswithin aclass definition; see 18.104.22.168 [class.conv.ctor].
I couldn't find wording that makes it invalid to say friend virtual... The closest seems to be 9.2.3 [dcl.fct.spec] paragraph 5, which says:
The virtual specifier shall only be used in declarations of nonstatic class member functions that appear within a member-specification of a class definition; see 11.7.3 [class.virtual].
I don't think that excludes a friend declaration (which is a valid member-specification by 11.4 [class.mem]).
John Spicer: I agree that virtual should not be allowed on friend declarations. I think the wording in 9.2.3 [dcl.fct.spec] is intended to be the declaration of a function within its class, although I think the wording should be improved to make it clearer.
|2008-10-05 00:00:00||admin||set||status: wp -> cd1|
|2007-05-06 00:00:00||admin||set||status: dr -> wp|
|2006-11-05 00:00:00||admin||set||messages: + msg1434|
|2006-11-05 00:00:00||admin||set||status: ready -> dr|
|2006-04-22 00:00:00||admin||set||status: review -> ready|
|2005-10-22 00:00:00||admin||set||messages: + msg1235|
|2005-10-22 00:00:00||admin||set||status: drafting -> review|
|2005-05-01 00:00:00||admin||set||status: open -> drafting|