<p>The problem with the C++ example is that <code>setter</code>, <code>getter</code>, <code>indexer</code> are types not functions, they should be highlighted as types. Whilst <code>pl::Path::root</code>, pl::Path::segment<code>and</code>pl::Path::scheme` are functions and should be highlighted as such.</p>

<p>(Ok, I was mean not telling you that, but I want to make the point that in C++, purely syntax does not designate a function.)</p>

<blockquote>
<p>usually no one use such prototypes, usually parameters names present in prototypes</p>
</blockquote>

<p>In C the names are not left out, but in C++ it is more common, and as I said above if a parameter is not used the name <em>must</em> be left out to avoid compiler warnings.  Remember in C++ a derived class can override functions of a parent class, but often doesn't need to use all the parameters.</p>

<p>Thanks for the opportunity to use my catch phrase "C++ is not C".  Assumptions that its just C with classes are wrong, it has evolved into a very different language.  Thats why I suggested above that its ok to submit this to Scintilla for C (and any other Lexcpp languages that it works for) but not yet C++.  </p>

<p style="font-size:small;-webkit-text-size-adjust:none;color:#666;">—<br />You are receiving this because you are subscribed to this thread.<br />Reply to this email directly, <a href="https://github.com/geany/geany/issues/1231#issuecomment-247551800">view it on GitHub</a>, or <a href="https://github.com/notifications/unsubscribe-auth/ABDrJyvZli4wbWxC13LIB8HsPCl_cP3Rks5qqlougaJpZM4J8sOE">mute the thread</a>.<img alt="" height="1" src="https://github.com/notifications/beacon/ABDrJw1g7JyD2gPktOpfK4KfctCh_0mTks5qqlougaJpZM4J8sOE.gif" width="1" /></p>
<div itemscope itemtype="http://schema.org/EmailMessage">
<div itemprop="action" itemscope itemtype="http://schema.org/ViewAction">
  <link itemprop="url" href="https://github.com/geany/geany/issues/1231#issuecomment-247551800"></link>
  <meta itemprop="name" content="View Issue"></meta>
</div>
<meta itemprop="description" content="View this Issue on GitHub"></meta>
</div>

<script type="application/json" data-scope="inboxmarkup">{"api_version":"1.0","publisher":{"api_key":"05dde50f1d1a384dd78767c55493e4bb","name":"GitHub"},"entity":{"external_key":"github/geany/geany","title":"geany/geany","subtitle":"GitHub repository","main_image_url":"https://cloud.githubusercontent.com/assets/143418/17495839/a5054eac-5d88-11e6-95fc-7290892c7bb5.png","avatar_image_url":"https://cloud.githubusercontent.com/assets/143418/15842166/7c72db34-2c0b-11e6-9aed-b52498112777.png","action":{"name":"Open in GitHub","url":"https://github.com/geany/geany"}},"updates":{"snippets":[{"icon":"PERSON","message":"@elextr in #1231: The problem with the C++ example is that `setter`, `getter`, `indexer` are types not functions, they should be highlighted as types. Whilst `pl::Path::root`, pl::Path::segment` and `pl::Path::scheme` are functions and should be highlighted as such.\r\n\r\n(Ok, I was mean not telling you that, but I want to make the point that in C++, purely syntax does not designate a function.)\r\n\r\n\u003e  usually no one use such prototypes, usually parameters names present in prototypes\r\n\r\nIn C the names are not left out, but in C++ it is more common, and as I said above if a parameter is not used the name _must_ be left out to avoid compiler warnings.  Remember in C++ a derived class can override functions of a parent class, but often doesn't need to use all the parameters.\r\n\r\nThanks for the opportunity to use my catch phrase \"C++ is not C\".  Assumptions that its just C with classes are wrong, it has evolved into a very different language.  Thats why I suggested above that its ok to submit this to Scintilla for C (and any other Lexcpp languages that it works for) but not yet C++.  "}],"action":{"name":"View Issue","url":"https://github.com/geany/geany/issues/1231#issuecomment-247551800"}}}</script>