- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我在编译代码时从 g++ 得到以下错误:
main.cpp:4:35: error: ‘createBInt’ declared as function returning an array
mpz_t createBInt(unsigned long int);
^
main.cpp:6:41: error: ‘createBInt’ declared as function returning an array
mpz_t createBInt(unsigned long int value) { //creates a mpz_t from unsigned long int
^
main.cpp: In function ‘int main()’:
main.cpp:14:28: error: ‘createBInt’ was not declared in this scope
mpz_t i1 = createBInt(5); //init mpz_t with 5
^
我的代码:
#include <iostream>
#include "gmp.h"
mpz_t createBInt(unsigned long int);
mpz_t createBInt(unsigned long int value) { //creates a mpz_t from unsigned long int
mpz_t i1;
mpz_init (i1);
mpz_set_si(i1,value);
return i1;
}
int main()
{
mpz_t i1 = createBInt(5); //init mpz_t with 5
std::cout << i1 << "\n"; //output
}
代码非常简单。它只创建一个 mpz_t(来自 gmp.h)。我不明白为什么会出现错误。这就是mpz_t类型在文件外的原因吗?
最佳答案
你得到一个错误
error: ‘createBInt’ declared as function returning an array
因为您不能从 C++ 中的函数返回数组。
mpz_t
声明为:
typedef __mpz_struct mpz_t[1];
或类似的东西;也就是说,它是 1 元素数组的 typedef
。
你可以这样做:
void createBInt(mpz_t i1, unsigned long int value) { //creates a mpz_t from unsigned long int
mpz_init (i1);
mpz_set_si(i1,value);
}
关于c++ - 函数(给出 mpz_t)未在此范围内声明 c++,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32798565/
我在 C++ 中使用 mpir 库时遇到问题。是否可以从函数返回 mpz_t 值?当我尝试这样做时,出现以下错误: RSA.cpp:50:36: error: ‘HASHtemp’ declared
我看到了问题mpz_t to unsigned long long conversion (gmp lib)的帖子Chris Jester-Young 给了我答案 mpz_t ull2mpz(unsi
我正在尝试让服务器和客户端(用 C 编写)交换 mpz_t 值。该程序使用 GMP 库和椭圆曲线库的一些函数。问题在于客户端生成的值与服务器接收到的值不同。您知道为什么会发生这种情况吗? int se
我对大数字使用 mpz_t。我需要将 mpz_t 转换为二进制表示形式。我尝试使用 mpz_export,但返回的数组仅包含 0。 mpz_t test; mpz_init(test); string
我需要将 mpz_t 转换为包含数字的 int 数组。例如 mpz_t t1; mpz_set_si(t1,12345); int digits[]; mpz_t2digits(t1,digits);
我无法找到 gmpxx 是如何存储 mpz_t 结构的。因此,获取存储为 mpz_t 的数字的最高有效字节的唯一方法是使用 mpz_get_str 方法,但我预计它会非常慢。 您知道更有效(和简单)的
嘿,我正在尝试将我编写的用于生成代表 Pascal 三角形的长整数数组的函数转换为返回 mpz_t 数组的函数。但是使用以下代码: mpz_t* make_triangle(int rows, int
有没有一种方法可以将 string,或者在我的例子中是 char array,从 gmplib 转换为 mpz_t 类型。有没有类似sscanf函数的? C 编程语言的任何内容都是相关的。 最佳答案
我目前正在学习 libgmp,为此我正在编写一个小程序来查找质因数。我的程序调用一个函数,该函数用不同数量的 mpz_t 整数填充数组,给定数字的质因数,我需要返回。我计划将最后一个元素设置为 NUL
我正在使用 GMP,我需要一个 mpz_t 数组。 sizeof(mpz_t) 给出 16,但我存储的数字比这大得多。 mpz_t 是否“就地”增长,即。 e.我是否需要分配更多内存并允许就地增长,或
我有一个这样的结构: typedef struct{ size_t length; // length of the array size_t numbits; // number o
来源: //$ DO DECLARATION #define VEC_MAX_SIZE 600000 mpz_t Vec[ VEC_MAX_SIZE ]; //$ DO INITIALIZATION
假设我知道我的号码可能有多少位数(并且我想第一次分配合适的空间量,我如何计算我需要分配的字节数?我想我总是可以设置值是 1*10^(num digits),然后是 0,但感觉不对,好像我没有达到目的。
我在 C 中使用 GMP。是否可以将 mpz_t 设置为浮点值? 最佳答案 是的,有一个函数 mpz_set_d 可以用于此目的: void mpz_set_d (mpz_t rop, double
有人知道为什么第二次调用 mpz_set_str() 后会导致段错误吗?如何从 str 初始化两个以上的 gmp int? #include #include int main(int argc,
我在编译代码时从 g++ 得到以下错误: main.cpp:4:35: error: ‘createBInt’ declared as function returning an array
在 C++ 中使用 GMP 库。我有一个函数接收指向 mpz_t 数字的指针并从中设置另一个 gmp_z 数字。我需要一种方法来检查 *_amount 之前是否已经初始化。 void f(mpz_t*
void decrypt_cert(mpz_t decrypted_cert, cert_message *cert, mpz_t key_exp, mpz_t key_mod) { mpz_
我们如何将 mpz_t 转换为 std::string? mpz_t Var; // Var = 5000 mpz_init_set_ui( Var, 5000 ); std::string Str
如何将 mpf_t 或 mpz_t 类型的 GMP 对象保存在 C 语言文件中?或者如何访问为这些类型分配的内存块,以便将它们直接写入文件? 编辑 fwrite(&gmp_obj->_mp_size,
我是一名优秀的程序员,十分优秀!