namespace start {
struct Base
{
Base();
virtual ~Base();
};
struct Derived : public Base
{
Derived();
Derived(Derived const&);
Derived& operator=(Derived const&);
virtual ~Derived();
};
Base* b();
Base const* bc();
typedef int Int;
void f(Int = (Int)0, Base* = (Base*)0, Base* = static_cast(0),
Base* = reinterpret_cast(0), Base* = const_cast(bc()),
Derived* = dynamic_cast(b()));
}