
30 Sep
2010
30 Sep
'10
1:53 a.m.
AMDG On 9/29/2010 6:01 PM, David Abrahams wrote:
The incantation
scoped_ptr<Base> x( new Derived );
will succeed and produce undefined behavior upon x's destruction unless Derived has a trivial or virtual d'tor.
It would be pretty easy to prevent something like that from compiling when has_virtual_destructor<Base>::value is false. Thoughts?
You just need to be careful only to use has_virtual_destructor when there's compiler support, since the implementation falls back on always returning false. In Christ, Steven Watanabe