>>162
delete[] h; は完全な間違いです。
未定義の動作ですから鼻から悪魔です。