<html><head></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; ">Hi Jean-Daniel,<div><br></div><div>the keywords currently don't work in on inline member functions.</div><div><br></div><div>While this is correct according to the C++0x spec, please file a bug so we can support it anyway. Maybe we could get the spec fixed as well.</div><div><br></div><div>- Anders</div><div><br></div><div><div><div>On Jan 24, 2011, at 9:51 AM, Jean-Daniel Dupas wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite"><div>Hello,<br><br>I'm trying to use the new explicit/override/new/final keywords, but I have trouble with some constructs.<br>As I don't managed to find the part of the specification that describe theses new keywords, I hope someone here can help me.<br><br>If I declare the classes A and B as follow, everything is fine. clang compiles and properly checks that foo() is declared in the super class (A).<br><br>class A { virtual void foo(); };<br>class B : public A { virtual void foo() override; };<br><br>Now, if I want to define B::foo() in my class definition like this:<br><br>class B : public A { virtual void foo() override {} };<br><br>clang refuses to compile by telling me it expects a semi at end of declaration list (and point to the space just behind override).<br><br>Is there something I miss in these new keyword usages, or is it a clang error, or is this construct prohibited by the C++ current standard ? <br><br>Thanks<br><br>-- Jean-Daniel<br><br><br><br><br><br>_______________________________________________<br>cfe-dev mailing list<br><a href="mailto:cfe-dev@cs.uiuc.edu">cfe-dev@cs.uiuc.edu</a><br>http://lists.cs.uiuc.edu/mailman/listinfo/cfe-dev<br></div></blockquote></div><br></div></body></html>