My example posted was incorrect.&nbsp; I was calling with m_sig(). Corrected below. Other ideas?<br><br>many thanks!<br>-allen<br><br><div><span class="gmail_quote">On 8/4/06, <b class="gmail_sendername">Wu Yinghui, Freddie</b>
 &lt;<a href="mailto:yhwu@volumeinteractions.com">yhwu@volumeinteractions.com</a>&gt; wrote:</span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
[snip]<br>&gt; The View abstract base class requires concrete bases to provide a<br>&gt; concrete implementation of the refresh() member function matching the<br>&gt; slot signature required.<br>&gt;<br>&gt; class View<br>
&gt; {<br>&gt; public:<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; virtual void refresh(bool) const = 0;<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; // ...<br>&gt; };<br>&gt;<br>&gt; Here's my problem.&nbsp;&nbsp;If I change the signal to take no args using the<br>&gt; preferred or portable syntax I get compilation errors:
<br>&gt;<br>&gt; class Document<br>&gt; {<br>&gt; public:<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; typedef boost::signal&lt; void () &gt;&nbsp;&nbsp;signal_t;<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; // ...<br>&gt;<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; void append(const char* s)<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; {<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; m_text += s;
<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; m_sig();<br>You should use<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;m_sig();<br>instead!<br><br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; }<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; // ...<br>&gt; };<br>&gt;<br>&gt; class View<br>&gt; {<br>&gt; public:<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; virtual void refresh() const = 0;
<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; // ...<br>&gt; };<br>&gt;<br>&gt; Compilation output (msvc-7.1):<br>&gt;<br>&gt; Compiling...<br>&gt; SignalTest.cpp<br>&gt; c:\Boost\include\boost-1_33_1\boost\bind.hpp(63) : error C2825:<br>&gt; 'F::result_type': cannot form a qualified name
<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; c:\Boost\include\boost-1_33_1\boost\bind\bind_template.hpp(15) :<br>&gt; see reference to class template instantiation<br>&gt; 'boost::_bi::result_traits&lt;R,F&gt;' being compiled<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; with<br>
&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; [<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; R=boost::_bi::unspecified,<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; F=void (__thiscall View::* )(void) const<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ]<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; c:\development\SignalTest\SignalTest.cpp(49) : see reference to<br>
&gt; class template instantiation 'boost::_bi::bind_t&lt;R,F,L&gt;' being compiled<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; with<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; [<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; R=boost::_bi::unspecified,<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; F=void (__thiscall View::* )(void) const,
<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; L=boost::_bi::list2&lt;boost::_bi::list_av_2&lt;View<br>&gt; *,boost::arg&lt;1&gt;&gt;::B1,boost::_bi::list_av_2&lt;View *,boost::arg&lt;1&gt;&gt;::B2&gt;<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ]<br>&gt; c:\Boost\include\boost-1_33_1\boost\bind.hpp(63) : error C2039:
<br>&gt; 'result_type' : is not a member of 'operator``global namespace'''<br>&gt; c:\Boost\include\boost-1_33_1\boost\bind.hpp(63) : error C2146: syntax<br>&gt; error : missing ';' before identifier 'type'<br>&gt; c:\Boost\include\boost-1_33_1\boost\bind.hpp(63) : error C2955:
<br>&gt; 'boost::_bi::type' : use of class template requires template argument list<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; c:\Boost\include\boost-1_33_1\boost\bind.hpp(112) : see<br>&gt; declaration of 'boost::_bi::type'<br>&gt; c:\Boost\include\boost-1_33_1\boost\bind.hpp(63) : fatal error C1903:
<br>&gt; unable to recover from previous error(s); stopping compilation<br><br>Cheers,<br><br>Freddie<br><br><br>_______________________________________________<br>Boost-users mailing list<br><a href="mailto:Boost-users@lists.boost.org">
Boost-users@lists.boost.org</a><br><a href="http://lists.boost.org/mailman/listinfo.cgi/boost-users">http://lists.boost.org/mailman/listinfo.cgi/boost-users</a><br><br><br></blockquote></div><br>