전역 연산자 new/delete/new []/delete []가 오버로드되었지만 새 버전과 새 버전이 올바르게 호출되는 동안 간단한 배열 할당과 새 [] 및 삭제 [ ]를 호출하면 newaop.cpp 및 delete2.cpp의 구현이 호출됩니다. 예를 들어연산자 new와 연산자 new [] 사이의 차이점은 무엇입니까?
,이 코드
int* a = new int[10];
전화 연산자 새 [] 차례로 new 연산자의 내 버전을 호출 newaop.cpp,있다. 그래서 그들은 전세계에 과부하가 걸려 있지만 어떤 이유로 배열 버전이 아닌 것 같습니다. 내가 빠진 것이 있습니까?
편집 : 연산자의 구현은 별도의 프로젝트에 있으며 라이브러리로 컴파일되어 정적으로 연결됩니다. 되돌아 보면 원래 게시물에 포함하는 것이 유용했을 수도 있습니다. 아마도이 작업과 관련이 있기 때문입니다. 배열 버전 만 영향을받는 이유는 아직 모르지만.
무엇이'newaop.cpp'와'delete2.cpp'입니까? –
모든 것이 예상대로 작동하는 것 같습니다.'new int [10]'는 함수를 호출합니다. 완전한 테스트 케이스를 제공하고 실제 동작이 예상 한 것과 어떻게 다른지 설명 할 수 있습니까? –
과부하의 프로토 타입을 게시하십시오. – Potatoswatter