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>