我有这行代码:
int g = modf(ans*power, 1)*10;
它给了我错误:
从'int'到'double *'的转换无效。
ans定义为:
double ans = 1.0/d;
权力定义为:
int power = pow(10,x);
和电源使用的x定义为:
for(int x = 0; x < 50; x++) {
我看不到我在哪里使用指针。如果您需要更多代码,请询问。
(我也试过制作导致错误的代码行:
int g = (int)modf(ans*power, 1)*10;
但这也不起作用。)
答案 0 :(得分:4)
modf(ans*power, 1)
不好
double smthng = 1.0; modf(ans*power, &smthng)
很好。
答案 1 :(得分:1)
modf(double x, double * intpart);
^^^
请参阅modf
答案 2 :(得分:1)
I don't see where I am using a pointer
:你不是,那就是
是问题。查看modf
的签名:
double modf( double, double* );
它需要double*
作为第二个参数;你传递了它
int
。
答案 3 :(得分:-1)
modf期望指向double的指针作为其第二个参数。请参阅here。