<DIV>I am using Dev-C++ with boost 1.34.1,the program is the following:<BR>.......................</DIV> <DIV>typedef std::map<int, int> IIPrimemap;<BR>IIPrimemap primemapvec;</DIV> <DIV> # define BetaKGre2 1 <BR> # define EqualToOne 2<BR> #define ProductOfKPrime 3</DIV> <DIV>..........................</DIV> <DIV>(switch_statement(_1,<BR> case_statement<BetaKGre2><BR> (var(result)=0),<BR> case_statement<EqualToOne><BR> (var(result)=1),<BR> case_statement<ProductOfKPrime> <BR> (var(result)=bind(static_cast<long double (*)(long double,int)>(std::pow),<BR> constant(-1.0),bind(&IIPrimemap::size,var(primemapvec)))),<BR> default_statement<BR> ( var(result)=234)<BR> ))(switchvalue);</DIV> <DIV> </DIV> <DIV>the complier told me no errors.But the linker told me that:</DIV> <DIV>nstantiated from `Arg::sig<boost::tuples::tuple<A&, B&, C&, Env&, boost::tuples::null_type, boost::tuples::null_type, boost........</DIV> <DIV> instantiated from `RET boost::lambda::lambda_functor_base<boost::lambda::s................</DIV> <DIV>nstantiated from `T::sig<boost::tuples::tuple<A&, boost::tuples::null_type, boost::tuples::null_type, bo...........</DIV> <DIV> instantiated from here..........// indicating the line:</DIV> <DIV> ))(switchvalue);</DIV> <DIV>And after the second compling and linking , the program passed and ran</DIV> <DIV>I do not know why. And this was caused after I added the line:</DIV> <DIV> (var(result)=bind(static_cast<long double (*)(long double,int)>(std::pow),<BR> constant(-1.0),bind(&IIPrimemap::size,var(primemapvec)))),</DIV> <DIV>otherwise the program do not have such problems. How can I solve it?</DIV> <DIV>Can anyone with kindness help me?<BR></DIV> <DIV> </DIV> <DIV> </DIV> <DIV> </DIV> <DIV> </DIV> <DIV> </DIV> <DIV><BR> </DIV><br><!-- footer --><br><span title="neteasefooter"/><hr/> <a href="http://count.mail.163.com/redirect/footer.htm?f=http://gouwu.youdao.com">200������Ʒ,��ͼ۸�,����ջ���</a> </span>