<div dir="ltr"><br><br><div class="gmail_quote">On Wed, Aug 25, 2010 at 1:53 PM, Oleg Goldshmidt <span dir="ltr">&lt;<a href="mailto:pub@goldshmidt.org">pub@goldshmidt.org</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">

2010/8/25 Erez D &lt;<a href="mailto:erez0001@gmail.com">erez0001@gmail.com</a>&gt;:<br>
<div class="im">&gt;<br>
&gt;<br>
&gt; On Wed, Aug 25, 2010 at 12:08 PM, Elazar Leibovich &lt;<a href="mailto:elazarl@gmail.com">elazarl@gmail.com</a>&gt;<br>
&gt; wrote:<br>
&gt;&gt;<br>
&gt;&gt; template &lt;class a, class b&gt;<br>
&gt;&gt;<br>
&gt;&gt; class c<br>
&gt;&gt;<br>
&gt;&gt; {<br>
&gt;&gt;<br>
&gt;&gt;       private:<br>
&gt;&gt;<br>
&gt;&gt;               b defaultVal;<br>
&gt;&gt;<br>
&gt;&gt;       public:<br>
&gt;&gt;<br>
&gt;&gt;               std::map&lt;a,b&gt; mymap;<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt; const b &amp;func(a idx)<br>
&gt;&gt;<br>
&gt;&gt;              {<br>
&gt;&gt;<br>
&gt;&gt;                  typename std::map&lt;a,b&gt;::iterator it(mymap.find(idx));<br>
&gt;&gt;<br>
&gt;&gt;                      if (it!=mymap.end())<br>
&gt;&gt;<br>
&gt;&gt;                              return it-&gt;second;<br>
&gt;&gt;<br>
&gt;&gt;                      else<br>
&gt;&gt;<br>
&gt;&gt;                              return defaultVal;<br>
&gt;&gt;<br>
&gt;&gt;              }<br>
&gt;&gt;<br>
&gt;&gt; };<br>
&gt;&gt;<br>
&gt;&gt; The compiler is not sure std::map&lt;a,b&gt;::iterator is a typename or a value.<br>
&gt;<br>
&gt; how do i sove that ? can you give a solution ?<br>
<br></div></blockquote><div><br>oops, you are correct.<br> <br></div><blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;"><div class="im">
</div>I think you missed the fact that Elazar gave a solution - the above is<br>
NOT identical to what you sent:<br>
<br>
1. uses the proper argument (idx, not a) to find()<br></blockquote><div>sure, this was a typo <br></div><blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">


2. adds typename<br></blockquote><div>yep, this fixed it <br></div><div><br>thanks,<br>erez. <br></div><blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">

<font color="#888888">
<br>
--<br>
Oleg Goldshmidt | <a href="mailto:pub@goldshmidt.org">pub@goldshmidt.org</a><br>
</font></blockquote></div><br></div>