|
Boost Users : |
Subject: Re: [Boost-users] boost::exception_detail::error_info_base does not have virtual destructor
From: Steven Watanabe (watanabesj_at_[hidden])
Date: 2011-03-17 12:37:05
AMDG
On 03/17/2011 08:50 AM, Jens Auer wrote:
> I am compiling a project with a more strict warning set and got the following reports:
> Error 29 error C4265: 'boost::exception_detail::error_info_base' : class has virtual functions, but destructor is not virtual c:\work\svn\sandbox\externals\boost\include\boost-1_45\boost\exception\detail\error_info_impl.hpp 36
>
> Error 30 error C4265: 'boost::error_info<Tag,T>' : class has virtual functions, but destructor is not virtual c:\work\svn\sandbox\externals\boost\include\boost-1_45\boost\exception\detail\error_info_impl.hpp 69
>
> IMHO these classes should have a virtual destructor as they are intended to be used as base classes.
No they shouldn't. A virtual destructor
is only needed when deleting through
a base class pointer. This is explicitly
forbidden by making the destructor
protected.
In Christ,
Steven Watanabe
Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net