
AMDG Anand Lakshminath wrote:
Deriving from the boost::noncopyable class generates warnings when I compile with the -Weffc++ (effective C++) flags.
There are two types of warnings:
<snip> g++ -I/vobs/3rdparty/BOOST/boost_1_38_0/boost_inc -Weffc++ main.cpp main.cpp:10: warning: base class 'class boost::noncopyable_::noncopyable' has a non-virtual destructor
If you're planning on using Boost at all, you should disable this warning. Many Boost libraries use inheritance without virtual destructors heavily and gcc doesn't make it easy to selectively disable spurious warnings.
main.cpp:10: warning: 'class<unnamed>::DontTreadOnMe' has pointer data members main.cpp:10: warning: but does not override '<unnamed>::DontTreadOnMe(const <unnamed>::DontTreadOnMe&)' main.cpp:10: warning: or 'operator=(const <unnamed>::DontTreadOnMe&)'
Is there a workaround and/or fix? I am using gcc 4.0.1.
Um. Don't use -Weffc++? Seriously, the code is not broken and there's nothing we can do to prevent these warnings. In Christ, Steven Watanabe