虽然我使用gmp. h头文件.我需要一个函数,它需要输入类型mpz_t和返回mpz_t类型太.我是非常初学者使用gmp. h所以,这里是快照如下我接近的代码.
mpz_t sum_upto(mpz_t max)
{
mpz_t sum;
mpz_init(sum);
mpz_init(result);
for(int i=0;i<=max-1;i++)
mpz_add_ui(sum,sum,pow(2,i));
return sum;
}
字符串
但它会显示错误:
- pow还没有在这个范围内使用。",尽管我在文件的开头添加了math.h。
- sum_upto声明为返回数组的函数.
3条答案
按热度按时间zf2sa74q1#
使用GMP的函数的约定可以在手册中找到。本质上,你必须遵循GMP本身的约定-函数必须有一个void返回类型,并且你必须提供一个值,将结果作为参数放入其中。
下面是给出的示例:
字符串
1u4esq0p2#
尝试以下操作:
字符串
此外,您可以删除
math.h
头。i1icjdpr3#
mpz_t的返回并不返回对象,而只是一个指针,这几乎肯定不是我们想要的。
下面是一个例子,接受一个mpz_t参数,进行计算,并将结果存储到指定的参数中。
字符串