우측 맨위에 보다시피 c++11 std 옵션 주고 컴파일 및 실행해봄

원글과는 달리 런타임 에러는 아니고 컴파일 워닝이 나옴, 런타임 에러는 없음

다만 A의 가상 소멸자가 없으니까 B의 소멸자는 실행되지 않았음

그런데 unique_ptr[B](new B())로 만들어서 unique_ptr[A] 초기화한건 워닝이 나고 unique_ptr[A](new B())로 만든건 워닝이 안난다?





아니었다 위에서 워닝 났던 부분 주석처리 하니 그 다음게 워닝 난다

비슷한 워닝 하나로 퉁친건지

그외 런타임 결과는 동일하다





부모와 자식 클래스의 각 소멸자들이 할일이 있든 없든, 부모가 가상이든 아니든 일단 부모에 가상 소멸자 만들고보는게 맞는듯

사실 지금까지의 결과들이 너무 당연해보이는데 왜 밑글에서는 컴파일 에러가 났는지 모르겠다