十万火急!!!!!!!!!!!
小弟用VC++做了一个基于对话框的小程序,在对话框的构造函数中定义了两上动态数组,
DataShort=new short[];
DataByte=new char[];
其中short *DataShort;char *DataByte;
当程序退出时,我想释放其内存,可是一直出错,我在OnDestroy()中
delete DataByte;
delete DataShort;
可是退出时弹出错误对话框,又重构了一个析构函数试了下,
~virtual CXXXXDlg()
{
  delete DataByte;
  elete DataShort;
}
这样不但当想退出程序时,窗口虽销毁了,但程序并没有退出,而且还照样弹出上一种方法的错误消息.告急啊,请大家帮帮忙啊

解决方案 »

  1.   

    new short[]这种用法不太好吧。
      

  2.   

    呵呵,因为我单片机上来是16位的带符号数,用short型刚好.
      

  3.   

    (1)  
      delete DataByte; 
      elete DataShort; 
    可能应该为:
      delete 【】DataByte; 
      elete 【】DataShort;
    (2)
       可能是你的变量的DataByte,DataShort的生命期的问题
     
      

  4.   

    我发现了,在定义时new short[]的方括号中间要加上一个数才行,但是这个数我是要跟据串口数据传送来定的,这可怎么办呢.