<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
  <meta content="text/html; charset=UTF-8" http-equiv="Content-Type">
</head>
<body text="#000000" bgcolor="#ffffff">
Hi!<br>
<br>
Your previous mail has been blocked by the mailing list software. The
attachments were too big. It would be very kind if you submitted bug
reports at <a class="moz-txt-link-abbreviated" href="http://www.aspectc.org/bugzilla">www.aspectc.org/bugzilla</a>.<br>
<br>
Last week and this week we are improving a lot of template-related
parser code. It is possible that these ongoing changes will solve the
problem.<br>
<br>
- Olaf<br>
<br>
On 06/27/2011 05:59 PM, Guilherme . wrote:
<blockquote
 cite="mid:BANLkTikra+a3=oaw-zu7k7tQQ8uTh8zOhg@mail.gmail.com"
 type="cite">Hi!<br>
  <br>
I am getting following error when trying to weave my code:<br>
  <br>
include//click/hashmap.hh:219: error: invalid declaration near token
`template'<br>
  <br>
Maybe this error has to do with the previously submitted email about
the conversion operator.<br>
  <br>
Here is the offending code:<br>
  <br>
219 template <class K, class V><br>
220 inline<br>
221 _HashMap_const_iterator<K, V>::operator
unspecified_bool_type() const<br>
222 {<br>
223     return live() ? &_HashMap_const_iterator::live : 0;<br>
224 }<br>
  <br>
And the next one in this file:<br>
  <br>
include//click/hashmap.hh:366: error: redefinition of `HashMap::begin'<br>
include//click/hashmap.hh:67: previously defined here<br>
include//click/hashmap.hh:534: error: redefinition of `HashMap::begin'<br>
  <br>
The interesting part is, that it uses template specialization to (with
g++) avoid these errors.<br>
  <br>
There are two classes defined.<br>
  <br>
First:<br>
 24 template <class K, class V><br>
 25 class HashMap { public:<br>
  <br>
With forward declaration:<br>
 67   inline const_iterator begin() const;<br>
  <br>
115 };<br>
  <br>
and later on: <br>
  <br>
And the second class (the specializaton)<br>
  <br>
227 template <class K><br>
228 class HashMap<K, void *> { public:<br>
  <br>
318 };<br>
  <br>
with these begin functions:<br>
  <br>
364 template <class K><br>
365 inline typename HashMap<K, void *>::const_iterator<br>
366 HashMap<K, void *>::begin() const<br>
367 {<br>
368   return const_iterator(this, true);<br>
369 }<br>
  <br>
532 template <class K, class T><br>
533 inline typename HashMap<K, T *>::const_iterator<br>
534 HashMap<K, T *>::begin() const<br>
535 {<br>
536   return const_iterator(this, true);<br>
537 }<br>
  <br>
So i guess the specialization must be throwing the ac++ parser off...<br>
  <br>
Anything i can do about it?<br>
  <br>
Thank you for your help,<br>
Guilherme<br>
  <pre wrap="">
<fieldset class="mimeAttachmentHeader"></fieldset>
_______________________________________________
aspectc-user mailing list
<a class="moz-txt-link-abbreviated" href="mailto:aspectc-user@aspectc.org">aspectc-user@aspectc.org</a>
<a class="moz-txt-link-freetext" href="http://www.aspectc.org/mailman/listinfo/aspectc-user">http://www.aspectc.org/mailman/listinfo/aspectc-user</a>
  </pre>
</blockquote>
<br>
</body>
</html>