Skip to main content

You are not logged in. Your edit will be placed in a queue until it is peer reviewed.

We welcome edits that make the post easier to understand and more valuable for readers. Because community members review edits, please try to make the post substantially better than how you found it, for example, by fixing grammar or adding additional resources and hyperlinks.

Required fields*

14
  • Omitting the const on the member functions was unintentional, though I'm not sure if it impacts the ill-formedness (or otherwise) of the examples. I've added const just in case. Commented Sep 27, 2015 at 4:08
  • I've also changed the default constructed S to be a local variable in the second example, for clarity. Commented Sep 27, 2015 at 4:09
  • I'm not 100% myself, however, it only invokes the semantic issue that the function obviously operates as const, but isn't (or wasn't) declared const, and so would generate an error if an S were passed as a const & S or similar from which f() was called. I actually thought you were testing US out here ;) Commented Sep 27, 2015 at 4:10
  • Yes, and that doesn't happen in the examples, so why I don't think it effects the answer. Commented Sep 27, 2015 at 4:11
  • I'm also unclear as to your answer. You say it fails based on semantic rules? To which semantic rules are you refering? Commented Sep 27, 2015 at 4:12