int *p=(int * )malloc(sizeof(int));
delete p;
malloc を使用してメモリを割り当てる場合は free を使用して解放し、C++ で new を使用して割り当てる場合は delete を使用して解放する必要があります。
ただし、malloc を使用してメモリを割り当ててから delete を使用すると、何らかのエラーが発生するはずです。しかし、上記のコードでは、C++ で発生するエラーや警告はありません。
また、new を使用してリバースして割り当て、free を使用して解放しても、エラーや警告は発生しません。
なぜそうなのですか?