Merge pull request #833 from cubbimew/c127-ub

C.127 should not claim that there is a defined behavior
This commit is contained in:
Gabriel Dos Reis
2017-01-30 06:58:14 -08:00
committed by GitHub

View File

@@ -6077,7 +6077,7 @@ A class with a virtual function is usually (and in general) used via a pointer t
// ... no user-written destructor, defaults to public nonvirtual ... // ... no user-written destructor, defaults to public nonvirtual ...
}; };
// bad: class with a resource derived from a class without a virtual destructor // bad: derived from a class without a virtual destructor
struct D : B { struct D : B {
string s {"default"}; string s {"default"};
}; };
@@ -6086,7 +6086,7 @@ A class with a virtual function is usually (and in general) used via a pointer t
{ {
auto p = make_unique<D>(); auto p = make_unique<D>();
// ... // ...
} // calls B::~B only, leaks the string } // undefined behavior. May call B::~B only and leak the string
##### Note ##### Note