smart_ptr/test/pointer_cast_dy_fail3.cpp
2016-09-10 18:43:22 +03:00

30 lines
505 B
C++

//
// A negative test for unique_ptr dynamic_cast
//
// Copyright 2016 Peter Dimov
//
// Distributed under the Boost Software License, Version 1.0.
// See accompanying file LICENSE_1_0.txt or copy at
// http://www.boost.org/LICENSE_1_0.txt
//
#include <boost/pointer_cast.hpp>
#include <memory>
struct B
{
virtual ~B()
{
}
};
struct D: B
{
};
int main()
{
std::unique_ptr<D[]> p1( new D[ 1 ] );
std::unique_ptr<B[]> p2 = boost::dynamic_pointer_cast<B[]>( std::move( p1 ) );
}