C ++ GMP,为什么会抛出错误?

时间:2012-06-10 20:26:21

标签: c++ gmp

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是一个long long数据类型。

我也试过

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

只是给它一个值,但它仍然不起作用。

运行时崩溃

1 个答案:

答案 0 :(得分:1)

您必须初始化mpz_t值,这些值只是使用GMP C API的纯C结构。如果要使用带有构造函数的类,请使用mpz_class,这是一个C ++类。

示例:

mpz_class x;
x = 3;
mpz_class y;
y = x * 7;