我创建了一个MFC工程,其中有个Dialog,生成类了,在里面添加CString型的二维数组,一点错误不报,运行就出“应用程序发生异常unkown software exception(0x00000fd),位置为0x0041ea27.把对应的.cpp的代码全部屏蔽,添加些其他代码,测试,只要把CString类型的二维数组定义去掉,就没错,添上就出错,大家遇见过这种情况吗?有经验的牛人指点啊,谢谢!!

解决方案 »

  1.   

    CStringArray test;
    test.GetSize();//得到数组元素的个数
    test.GetAt(int i);//得到数组第I个元素的值。
     
      

  2.   

    楼上的没有明白我的意思,例如:新建一个基于对话框的MFC工程,什么都不添加,就添加一个二维的CString数组变量就会出现我描述的那个异常。比如:添加个private:
      CString largeItem[SIZE][SIZE];SIZE为#define SIZE 100
    把这个变量取消,就能运行,我是问问大家遇到这么个情况没?
      

  3.   

    五楼的,我只是定义变量,没有使用,那来的越界?
    问题解决了,CString的静态数组默认1MB,1000*1000大于1MB,当然溢出了。
      

  4.   

    CString 还能定义二维数组啊  可以吗 ?
    真神奇 
      

  5.   

    CString的静态数组默认1MB?
    什么意思?
      

  6.   

    线程栈问题,一个CString占4个字节,1000*1000*4就是3.8MB。
      

  7.   

    vc的默认栈只有1M,更大请用new