错误是这样的:
{148} normal block at 0x003C2608, 12 bytes long.
 Data: <            > 01 00 00 00 02 00 00 00 01 CD CD CD 
------------------
然后问题代码指向下面:
mixplay=new CMixer(MIXERLINE_COMPONENTTYPE_DST_SPEAKERS ,CMixer::Play,min,max); 这应该是内存泄露吧?
应该怎么才能好?
我说实话没看懂这个new,达人能不能给解释一下?ps:
Mixer.h......
CMixer(DWORD ComponentType, DestKind dkKind,int &min,int &max);
......
--------------------------------------
Mixer.cppCMixer::CMixer(DWORD ComponentType, DestKind dkKind,int & min,int & max)
{
......
}

解决方案 »

  1.   

    new 后面是CMixer的类名,后面是构造函数的参数。在不需要的时候
    delete mixplay;
    就行了
      

  2.   

    mixplay=new CMixer(MIXERLINE_COMPONENTTYPE_DST_SPEAKERS ,CMixer::Play,min,max);
    这个泄漏和CMixer这个类内部代码没有关系。泄漏的原因是外部调用这个new以后,没有对应的调用delete mixplay进行释放。当mixplay这个对象不需要使用的时候,就调用delete删除该对象。
      

  3.   

    new 和 delete 一一对应