我根本无法删除我的wchar_t指针变量。它在构造函数中通过以下方式初始化:
dir = new wchar_t;
我不应该通过以下方式删除它吗:
delete dir;
此问题的原因似乎是调试断言失败。
表达式_CrtIsValidHeapPointer(pUserData)
听起来堆
已损坏。例如,如果分配单个wchar_t
,但将多个字符写入该指针,则可能会发生这种情况。然后,将来与堆的交互(例如删除)可能会导致错误,因为代码中的断言被破坏。