当前位置:  开发笔记 > 编程语言 > 正文

你如何在c ++中使用带变量的指数?

如何解决《你如何在c++中使用带变量的指数?》经验,为你挑选了1个好方法。

所以我意识到#include是必要的,并且有一个pow(x,y),其中x ^ y可以工作......但是当我尝试使用pow(2,(num-1))时,它踢回了一个错误...

errorC2668:'pow':对重载函数的模糊调用

我的代码行如下

perfect = (pow(2,(num-1))) * (pow(2,num)-1);

有什么建议?

提前致谢

编辑:

num确实声明为int.

num确实有一个值,从1开始并转到UINT_MAX

方程式中添加了星号



1> mathstuf..:

编译器不知道要调用哪个pow()函数.此处列出的重载提供以下列表:

      float pow (       float base,       float exponent );
     double pow (      double base,      double exponent );
long double pow ( long double base, long double exponent );
      float pow (       float base,         int exponent );
     double pow (      double base,         int exponent );
long double pow ( long double base,         int exponent );

编译器不会猜测要使用哪一个.使用强制转换使其显式化.

perfect = (pow(2.,(double)(num-1))) < (pow(2.,(double)num)-1);

那里可能会有一些额外的演员,但他们不会伤害任何东西.

推荐阅读
农大军乐团_697
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有