I'm not sure if I'm missing something here, but I think this is a bug.<br><br>I'm trying to compile the following with gcc4.1.3 on Ubuntu 7.10:<br>$ g++ -v<br>Using built-in specs.<br>Target: i486-linux-gnu<br> Configured with: ../src/configure -v --enable-languages=c,c++,fortran,objc,obj-c++,treelang --prefix=/usr --enable-shared --with-system-zlib --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --enable-nls --with-gxx-include-dir=/usr/include/c++/4.1.3 --program-suffix=- 4.1 --enable-__cxa_atexit --enable-clocale=gnu --enable-libstdcxx-debug --enable-mpfr --enable-checking=release i486-linux-gnu<br>Thread model: posix<br>gcc version 4.1.3 20070929 (prerelease) (Ubuntu 4.1.2-16ubuntu2)<br> <br><br>#include <boost/regex.hpp><br><br>int main()<br>{<br> using namespace boost;<br><br> std::string str; <br> regex re(".");<br> cmatch what;<br><br> regex_match(str, what, re);<br><br> return 0; <br>}<br><br>GCC doesn't manage to find the right overload of regex_match and says only this:<br><br>lala.cpp: In function 'int main()':<br>lala.cpp:11: error: no matching function for call to 'regex_match(std::string&, boost::cmatch&, boost::regex&)' <br>/usr/local/src/boost/trunk/boost/regex/v4/regex_match.hpp:80: note: candidates are: bool boost::regex_match(const std::basic_string<charT, ST, SA>&, boost::match_results<typename std::basic_string<charT, ST, SA>::const_iterator, Allocator>&, const boost::basic_regex<charT, traits>&, boost::regex_constants::match_flag_type) [with ST = std::char_traits<char>, SA = std::allocator<char>, Allocator = std::allocator<boost::sub_match<const char*> >, charT = char, traits = boost::regex_traits<char, boost::cpp_regex_traits<char> >] <br><br>It compiles fine if you instead pass str.c_str() as the first argument. On the other hand, If you explicitly qualify the regex types with boost::, gcc spews out the attached misery-ball. AFAIK, these all work on msvc9. <br><br>Is the example above supposed to work?<br><br>Cheers,<br>Darren<br>