关于运行时Segmentation fault(coredump)异常

求助关于运行时Segmentation fault(coredump)错误
是一个自己实现动态数组类的小程序。调试编译通过了~,运行出现此错误,新手不知该怎么办。
关于运行时Segmentation fault(coredump)异常

源程序:

头文件:
#ifndef MYARRAY

#define MYARRAY

class CMyArray
{
public:
        CMyArray();                             //默认构造函数:默认分配10个long类型空间,增量为5
        CMyArray(int nCount,int nIncrem);       //构造函数:分配nCount个long类型空间,增量为nIncrem
        ~CMyArray();                            //构造函数:释放所有空间,防止内存泄露   
  
private: 
    void init();                     // initilize the array
        int InvalidateIndex(int nIndex);     // judge the validate of an index
    
protected:
        int m_nDataCount;                       //数据总数量
        int m_nSize;                            //空间大小
        int m_nIncrem;                          //若空间不足后,每次分配增量值    
        long *m_nData;                          // 所分配内存的头指针    
    void grow(int m);                       //分配增量
          
public:
        int  AddData (long nData);               //在尾部添加一个数据nData,返回其索引值
        bool DeleteData(int nIndex);             //删除指定索引nIndex的数据(其后数据会前移,不允许留有空位)
        int  GetDataCount();                     //获取数据总数量
        bool GetData(int nIndex);    //获取指定索引nIndex的数据
        void Clean();                            //清空数据nData,并释放空间
        void Display();
};

#endif

方法文件:
#include "myarray.h"
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#include <iostream>

using namespace std;
 
CMyArray::CMyArray()                           //默认分配10个long类型空间,增量为5
{
    long *m_nData=new long[10];
    m_nSize = 10;
}

CMyArray:: CMyArray(int nCount,int nIncrem)       //构造函数:分配nCount个long类型空间,增量为nIncrem
{
    long *m_nData=new long[nCount];
    m_nSize = nCount;
    m_nIncrem = nIncrem;
    
}

CMyArray:: ~CMyArray()                         //析构函数:释放所有空间,防止内存泄露
{
    Clean();
}

void CMyArray::init()
{
m_nData = NULL;
m_nSize = 0;
m_nDataCount = 0;
}

void CMyArray::Clean ()                          //清空数据nData,并释放空间
{
    delete [ ] m_nData;
}

void CMyArray::grow(int m)
{
if(m_nData != NULL) 
{
    
long * m_nDataN = new long[m_nSize +m ];
memcpy(m_nDataN, m_nData, m_nSize);
m_nSize +=m;
delete[] m_nData;
m_nData = m_nDataN;
}
}

int CMyArray::InvalidateIndex(int nIndex)
{
if(nIndex < 0 || nIndex > GetDataCount())