
I agree with Steve that the C4512 warning is a low-priority bug: it is easily worked around and it's only a level 4 warning. But, I must not be understanding Boost.Variant (1.35.1) because the following simple example generates several other VC9 warnings: C4345 (level 2) and C4100 (level 4): #include <boost/config.hpp> #ifdef BOOST_MSVC # pragma warning( push ) # pragma warning( disable : 4512 ) #endif #include <boost/variant.hpp> #ifdef BOOST_MSVC # pragma warning( pop ) #endif #include <iostream> using namespace std; struct C1 {}; struct C2 {}; struct vis : public boost::static_visitor<> { void operator()( C1 & ) const { cout << "C1" << endl; } void operator()( C2 & ) const { cout << "C2" << endl; } }; int main( int, char * ) { boost::variant< C1, C2 > v; boost::apply_visitor( vis(), v ); return 0; } Disabling these in the manner above works but I'm hoping one of its authors/maintainers can comment on intended usage of Boost.Variant with VC9? I'm wary of disabling each warning I encounter. That makes it difficult for me to know which warnings are known to be harmless and which indicate errors in my code. BTW: By "compiler-independent way" I mean using <boost/config.hpp> macros to wrap compiler-specific pragmas (as above). John Fearnside -----Original Message----- AMDG hfye-wila@spamex.com wrote:
*If* this warning is truly harmless, should this be considered a bug in Boost.Variant?
I consider this a low priority bug.
Shouldn't Boost.Variant disable benign warnings in a compiler-independent way?
This warning is Visual Studio specific. In Christ, Steven Watanabe _______________________________________________ Boost-users mailing list Boost-users@lists.boost.org http://lists.boost.org/mailman/listinfo.cgi/boost-users