Hi,
I ran into a problem when I was replacing boost::bind expressions with lambda expressions. I could boil down the problem to the following code:
#include
<boost/program_options.hpp>
template<typename T>
void f(T t) {}
void g()
{
using namespace boost::program_options;
// each of the following lines produces the error:
// Error 1 error C2871: 'validators' : a namespace with this name does not exist
// Error 2 error C2871: 'program_options' : a namespace with this name does not exist
f([]() {} );
auto x = []() {};
}
When I try to compile this on my Microsoft Visual Studio 2010 using our Boost 1.45 library, I get a compiler errors:
Error 1 error C2871: 'validators' : a namespace with this name does not exist
Error 2 error C2871: 'program_options' : a namespace with this name does not exist
To me, it looks like a compiler problem but I want to make sure that I am not running into a known issue in the boost libraries. I have search the bug database, but I have not found any issues like this one. It would
be nice if someone could double-check this on another platform and boost version. If it is a compiler bug, I would then file a bug report to MS.
Best regards,
Jens