Languages/C++

함수안에서 new연산자로 생성하지 않은 클래스의 delete는 에러

devmae 2012. 11. 23. 12:15


bt는 함수안에서 생성했기 때문에 스택 메모리에 올라간다.

bt의 메모리 주소를 할당받아도 그 주소는 스택메모리의 주소를 가르키게 된다.

그래서 힙 메모리 상에는 존재하지 않기 때문에 delete 연산자로 메모리 해제를 하려고 하면

에러가 발생한다.

스택메모리이기 때문에 함수가 끝나면 자동으로 소멸자가 실행되며 메모리 해제가 된다.