将载体与 GMP 一起使用

Spi*_*ter 5 c++ vector gmp

我正在尝试将载体与 GMP 一起使用。但是当我编译这样的东西时,我得到“[...]\bits\vector.tcc [Error] array必须使用大括号括起来的初始值设定项进行初始化”。任何具有动态大小的数据结构都可以工作 - 双端队列是最好的,但当我尝试这样做时,会出现更多错误。我该如何让这个停止失败?

#include <vector>
#include <gmp.h>

int main(){
mpz_t test;
mpz_init(test);
std::vector<mpz_t> a_vector;
a_vector.push_back(test);
return 0;
}
Run Code Online (Sandbox Code Playgroud)

Mat*_*son 3

由于 GMP 编号不可直接分配(换句话说,您不能执行mpz_t test = 0;' ormpz_t test1l; test1 = test;`,我不相信它们可以在标准 C++ 容器类型中使用。

如果您想这样做,您可能需要使用 GMP 的 C++ 接口: https: //gmplib.org/manual/C_002b_002b-Interface-General.html