mpz_t* myArr= new mpz_t[M+1];
cout << myArr[0] << endl;
cin.get(); //so I know the program pauses here if everything's OK so far
M是一個很長的數據類型。C++ GMP,爲什麼會拋出錯誤?
我也試過
mpz_t* myArr= new mpz_t[M+1];
mpz_set_si(myArr[0],0);
cout << myArr[0] << endl;
cin.get(); //so I know the program pauses here if everything's OK so far
只是爲了給它一個值,但它不會仍然工作。
運行時墜毀
有許多方法在此可能導致崩潰:M可以大於0更小,或構造或操作者'<<()''爲可以mpz_t'被打破,或者以前的代碼可能會損壞堆。你將不得不做更多的工作來努力縮小範圍。 –
我所做的就是在初始化數組後輸出數組的第一個元素。他們不是默認爲0嗎? – MyNameIsKhan
如果'mpz_t'有一個構造函數,它將被調用。如果它有一個用於打印的「operator <<()」,那麼它將被調用。我不知道'mpz_t'是什麼,所以我不能說這些東西是否有影響。 –