
AMDG On 11/07/2012 10:30 AM, Pierre Talbot wrote:
Hello,
I have a compilation error with Boost (1.52) and g++ (4.7) with the flag -Weffc++:
I would strongly advise against using this flag with Boost. For large parts of Boost, the rules that -Weffc++ checks are simply not applicable, and trying to comply with them would be a huge burden for no gain.
error: base class ‘class boost::static_visitor<std::basic_string<char>
’ has a non-virtual destructor [-Werror=effc++]
And the static_visitor class is defined with a protected non-virtual destructor:
template <typename R = ::boost::detail::static_visitor_default_return> class static_visitor : public detail::is_static_visitor_tag { public: // typedefs
typedef R result_type;
protected: // for use as base class only
static_visitor() { } ~static_visitor() { }
};
Is it normal ? And if it is, how to avoid this error ?
In Christ, Steven Watanabe