我用一个函数
f(vector <double>FDt,int FNum,double NCtd[][20],double LCtd[][20])
其中NCtd,LCtd都是1024*20的数组,但调用的时候出现堆栈溢出。
想用指针作为参数f(vector <double>FDt,int FNum,double **NCtd,double **LCtd]),调用时用二维数组付值给**NCtd,编译不通过,请问怎么解决啊?
另外堆栈大小在VC++中应该设多大啊,我怎么设10M也不行啊?

解决方案 »

  1.   

    二维数组付值给**NCtd,怎么赋值的?
    另外,vector最好传送指针或者引用吧。
      

  2.   

    在project -> settings ->加上 /GS
      

  3.   

    没有递归。
    把二维数组的首地址赋值给NCtd,我将数组大小调到1022*20时,就没有堆栈溢出现象,
    和vector无关。
      

  4.   

    请大侠tyzyx(郁闷中... ...)说清楚一些
      

  5.   

    我怀疑是数组定义的问题,解决方法:
    1:用new动态分配
    2:不在某一类头文件中定义,直接定义成前局变量.