[Parameter] bug with 1.33.1 and vc7.1 ?

In the process of getting familiar with Boost.Parameter I created the following simple example: #include <iostream> #include <boost/parameter/keyword.hpp> namespace Foo{ BOOST_PARAMETER_KEYWORD(tag, touch) BOOST_PARAMETER_KEYWORD(tag, taste) BOOST_PARAMETER_KEYWORD(tag, smell) BOOST_PARAMETER_KEYWORD(tag, sight) BOOST_PARAMETER_KEYWORD(tag, hearing) template<class ArgumentPack> void senses(ArgumentPack const &args){ std::cout << "touch: " << args[touch|"soft"] << std::endl; std::cout << "taste: " << args[taste|"bitter"] << std::endl; std::cout << "smell: " << args[smell|"foul"] << std::endl; std::cout << "sight: " << args[sight|"bright"] << std::endl; std::cout << "hearing: " << args[hearing|"loud"] << std::endl; } } int main(){ using namespace Foo; senses((sight="dim",hearing="quiet",taste="sweet",touch="rough",smell="s tinky")); return 0; } I expected the following output: touch: rough taste: sweet smell: stinky sight: dim hearing: quiet But when compiling with VC7.1 (cl.exe version 13.10.6030) and Boost 1.33.1 I get the following touch: rough taste: sweet smell: foul sight: bright hearing: loud Note the "hearing: loud" instead of "hearing: quiet". I get the expected results under gcc 3.3.5 using the same Boost 1.33.1. Is this a known issue? Is there a work around? Thanks, Paul Rose
participants (1)
-
Paul Rose