2015-05-03 60 views
-1

由於某種原因,當我試圖運行這個程序時,它停止工作。我可以理解有堆棧溢出,但認真如何運行此代碼?有沒有可能的方法?運行C++(DevC++)分段錯誤

#include <iostream> 
#include <ctime> 
#include <cstdlib> 
#include <conio.h> 

using namespace std; 

#define N 30000 
int getUniqueNumber(int *szTable,int szCounter); 
bool checkDuplicate(int *szTable,int szCounter,int szDupl); 



class Sort { 
    private: 

    public: 
     int szTable[N]; 
     /*Sort() { 
      int i; 
      for (i=0;i<N;i++) { 
       this->szTable[i]=getUniqueNumber(this->szTable,i); 
      } 
     }*/ 
    // int bubbleSort(); 
    // void quickSort(); 
    // int straightSelSort(); 
    // int straightInsSort(); 


}; 


int main(int argc, char** argv) { 
    Sort Tables[20]; 
    return 0; 
} 

回答

2

Sort Tables[20];最有可能超過與N = 30000可用的堆棧大小。

您可以嘗試從堆中分配,而不是一個合適的載體:

std::vector<Sort> Tables(20);