spirit (boost 1.32.0) grammar.ipp won't compile
Hello, All! I had tryed to compile some code with Microsoft (R) C/C++ Optimizing Compiler Version 14.00.2207 for AMD64 (from Server 2003 DDK) and got an error: C:\boost_1_32_0\boost\spirit\core\non_terminal\impl\grammar.ipp(308) : error C2784: 'std::mem_fun_t<_R,_Ty> std::mem_fun(_R (__cdecl _Ty::* ) (void))' : could not deduce template argument for 'T1 (__cdecl T2::* )(void)' from 'int (__cdecl boost::spirit::impl::grammar_helper_base<GrammarT>::* )(GrammarT *)' with [ GrammarT=boost::spirit::grammar<boost::archive::basic_xml_grammar<wchar_t>>::self_t ] Just changing std::mem_fun(&helper_base_t::undefine) to std::mem_fun1(&helper_base_t::undefine) resolves this problem. Modified successfully compiles under VC7.1, too. With best regards, Sergey.
Sergey Skorniakov wrote:
Hello, All!
I had tryed to compile some code with Microsoft (R) C/C++ Optimizing Compiler Version 14.00.2207 for AMD64 (from Server 2003 DDK) and got an error:
C:\boost_1_32_0\boost\spirit\core\non_terminal\impl\grammar.ipp(308) : error C2784: 'std::mem_fun_t<_R,_Ty> std::mem_fun(_R (__cdecl _Ty::* ) (void))' : could not deduce template argument for 'T1 (__cdecl T2::* )(void)' from 'int (__cdecl boost::spirit::impl::grammar_helper_base<GrammarT>::* )(GrammarT *)' with [ GrammarT=boost::spirit::grammar<boost::archive::basic_xml_grammar<wchar_t>>::self_t
]
Just changing std::mem_fun(&helper_base_t::undefine) to std::mem_fun1(&helper_base_t::undefine) resolves this problem. Modified successfully compiles under VC7.1, too.
Hi Sergey, Could you please post this to Spirit's mailing list? Spirit-general mailing list Spirit-general@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/spirit-general Thanks! -- Joel de Guzman http://www.boost-consulting.com http://spirit.sf.net
Hello, Joel! You wrote on Tue, 18 Jan 2005 10:21:03 +0800: J> Could you please post this to Spirit's mailing list? I am sorry, it is not nesessary. The real problem is in the STL copy that I had used (headers from Server 2003 DDK). It looks like STL from VC 6, partly rewritten, and contains some errors. mem_fun1 function was excluded from C++ standard. With best regards, Sergey Skorniakov.
participants (2)
-
Joel
-
Sergey Skorniakov