My example posted was incorrect. 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> <<a href="mailto:yhwu@volumeinteractions.com">yhwu@volumeinteractions.com</a>> 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>> The View abstract base class requires concrete bases to provide a<br>> concrete implementation of the refresh() member function matching the<br>> slot signature required.<br>><br>> class View<br> > {<br>> public:<br>> virtual void refresh(bool) const = 0;<br>> // ...<br>> };<br>><br>> Here's my problem. If I change the signal to take no args using the<br>> preferred or portable syntax I get compilation errors: <br>><br>> class Document<br>> {<br>> public:<br>> typedef boost::signal< void () > signal_t;<br>> // ...<br>><br>> void append(const char* s)<br>> {<br>> m_text += s; <br>> m_sig();<br>You should use<br> m_sig();<br>instead!<br><br>> }<br>> // ...<br>> };<br>><br>> class View<br>> {<br>> public:<br>> virtual void refresh() const = 0; <br>> // ...<br>> };<br>><br>> Compilation output (msvc-7.1):<br>><br>> Compiling...<br>> SignalTest.cpp<br>> c:\Boost\include\boost-1_33_1\boost\bind.hpp(63) : error C2825:<br>> 'F::result_type': cannot form a qualified name <br>> c:\Boost\include\boost-1_33_1\boost\bind\bind_template.hpp(15) :<br>> see reference to class template instantiation<br>> 'boost::_bi::result_traits<R,F>' being compiled<br>> with<br> > [<br>> R=boost::_bi::unspecified,<br>> F=void (__thiscall View::* )(void) const<br>> ]<br>> c:\development\SignalTest\SignalTest.cpp(49) : see reference to<br> > class template instantiation 'boost::_bi::bind_t<R,F,L>' being compiled<br>> with<br>> [<br>> R=boost::_bi::unspecified,<br>> F=void (__thiscall View::* )(void) const, <br>> L=boost::_bi::list2<boost::_bi::list_av_2<View<br>> *,boost::arg<1>>::B1,boost::_bi::list_av_2<View *,boost::arg<1>>::B2><br>> ]<br>> c:\Boost\include\boost-1_33_1\boost\bind.hpp(63) : error C2039: <br>> 'result_type' : is not a member of 'operator``global namespace'''<br>> c:\Boost\include\boost-1_33_1\boost\bind.hpp(63) : error C2146: syntax<br>> error : missing ';' before identifier 'type'<br>> c:\Boost\include\boost-1_33_1\boost\bind.hpp(63) : error C2955: <br>> 'boost::_bi::type' : use of class template requires template argument list<br>> c:\Boost\include\boost-1_33_1\boost\bind.hpp(112) : see<br>> declaration of 'boost::_bi::type'<br>> c:\Boost\include\boost-1_33_1\boost\bind.hpp(63) : fatal error C1903: <br>> 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>