On Mon, Jun 06, 2005 at 07:10:42PM +0200, Pavel Vozenilek wrote:
...
but it couldn't pass the compile, error was: [C++ Error] trim.hpp(233): E2285 Could not find a match for 'detail::trim_end(undefined,undefined,detail::is_classifiedF)' [C++ Error] trim.hpp(126): E2285 Could not find a match for 'detail::trim_begin(undefined,undefined,detail::is_classifiedF)'
... I'm not sure what the problem could be. But it seems like some bug in a compiler.
So my first question is: What compiler do you use?
BCB. I checked and it fails with 6.4 (the latest).
More details are bellow.
/Pavel
[C++ Error] trim.hpp(233): E2285 Could not find a match for 'detail::trim_end
(undefined,undefined,detail::is_classifiedF)' Full parser context trim.hpp(228): decision to instantiate: void void trim_right_if<_STL::string,detail::is_classifiedF>(_STL::string &,detail::is_classifiedF) --- Resetting parser context for instantiation... Unit1.cpp(9): #include C:\boost\boost_1_33_0\boost/algorithm/string.hpp string.hpp(18): #include C:\boost\boost_1_33_0\boost/algorithm/string/trim.hpp trim.hpp(35): namespace boost trim.hpp(36): namespace algorithm trim.hpp(228): parsing: void void trim_right_if<_STL::string,detail::is_classifiedF>(_STL::string &,detail::is_classifiedF) [C++ Error] trim.hpp(126): E2285 Could not find a match for 'detail::trim_begin (undefined,undefined,detail::is_classifiedF)' Full parser context trim.hpp(120): decision to instantiate: void void trim_left_if<_STL::string,detail::is_classifiedF>(_STL::string &,detail::is_classifiedF) --- Resetting parser context for instantiation... Unit1.cpp(9): #include C:\boost\boost_1_33_0\boost/algorithm/string.hpp string.hpp(18): #include C:\boost\boost_1_33_0\boost/algorithm/string/trim.hpp trim.hpp(35): namespace boost trim.hpp(36): namespace algorithm trim.hpp(120): parsing: void void trim_left_if<_STL::string,detail::is_classifiedF>(_STL::string &,detail::is_classifiedF)
I'm just guessing, since I don't have much experience with borland compilers. It definitely seems as a compiler related problem. Problem can be related to way the function detail::trim_begin is called. I'm using relative access convetion. So I use detail::trim_begin(...). In some places it helped if the namespace was specified explicitly. So I can try to make a fix in the cvs, but I will need somebody to test it. Can you arrange it? Regards, Pavol