삭제되지 않은 객체에 대해 소멸자가 호출되는 이유는 무엇입니까? struct A { ~A() = delete; }; int main() { new A{}; } 다음 오류 메시지와 함께 컴파일되지 않습니다. 오류 : 삭제 된 함수 'A :: ~ A ()'사용 new A {}; 내가 이해했듯이 객체를 파괴하지 않고 왜 소멸자를 호출하려고합니까? GCC 8.1.0으로 컴파일 됨 g++ -std=c++17 -O2 이것은 gcc 버그 57082 입니다. 아래에서 위로 가자. [dcl.fct.def.delete] / 2 : 삭제 된 함수를 선언하는 것 외에 암시 적으로 또는 명시 적으로 참조하는 프로그램의 형식이 잘못되었습니다. 분명히 우리는 ~A()명시 적으로 언급하지 않습니다 . 암시 적으로 언급하고 있습니까?..