在程序中使用非类型模板参数而未分配局部变量时出现意外结果?

VINOTH能量

由于直接的浮点比较是有风险的,因此我正在编写一个包装器类来检查浮点数的关系操作。

#include<iostream>
#include  <cmath>

template<unsigned int round_off_digits=10>
class FloatRelationalOperators
{
   private:
      inline static double calcEpsilonValue()
      {         

         int localVar=round_off_digits;

         double withLocalVar=pow(10, (localVar  * -1 ));
         double WithoutLocalVar=pow(10, (round_off_digits  * -1 ));

         std::cout<<"withLocalVar: "<<withLocalVar<<" "<<"WithoutLocalVar :"<<WithoutLocalVar;

         return WithoutLocalVar;
      }

   public:

      inline static bool notequal(double a,double b)
      {
         double res=fabs(a-b);

         if( res <= calcEpsilonValue())
         {
            return true;
         }
         else
         {
            return false;
         }
         return false;
      }
};


int main()
{
   FloatRelationalOperators<>::notequal(10.1,10.0);
}

我正在尝试从最大舍入位数计算epsilon值。

当我运行程序时,得到的结果如下:

withLocalVar: 1e-10 WithoutLocalVar :inf

当在函数中直接使用非类型模板参数时,为什么我的答案是错误的?

我做错什么了吗?

海特

round_off_digits是一个无符号值,然后将其乘以-1一个很大的无符号整数。如果您将其更改为int有效

http://cpp.sh/8yflj

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在Graphics.Drawing中使用未分配的局部变量

来自分类Dev

在调试中使用未分配的局部变量

来自分类Dev

在尝试捕获中使用未分配的局部变量

来自分类Dev

使用foreach循环时使用未分配的局部变量

来自分类Dev

使用异步/等待时使用未分配的局部变量

来自分类Dev

尝试返回 bool 时使用未分配的局部变量

来自分类Dev

使用未分配的局部变量“ x”

来自分类Dev

使用未分配的局部变量“ strCity”

来自分类Dev

使用未分配的局部变量“ SHELLEXECUTEINFO”

来自分类Dev

使用未分配的局部变量数组

来自分类Dev

使用未分配的局部变量“ folderPath”

来自分类Dev

错误“使用未分配的局部变量”?

来自分类Dev

使用未分配的局部变量“书”

来自分类Dev

非类型模板参数

来自分类Dev

在模板专门化中使用非类型模板template参数

来自分类Dev

在分配它的if-else语句中使用未分配的局部变量

来自分类Dev

可以使用自动占位符来推断非类型模板参数的函数结果吗?

来自分类Dev

类型和非类型模板参数可互换使用

来自分类Dev

使用已分配的未分配局部变量

来自分类Dev

在foreach循环中出现“使用未分配的局部变量”错误,并返回收益

来自分类Dev

模板非类型模板参数

来自分类Dev

LINQ,输出参数和“未分配的局部变量的使用”错误

来自分类Dev

使用未分配的局部变量:值类型与自定义结构

来自分类Dev

从非类型模板参数确定类型

来自分类Dev

推断非类型模板参数的类型

来自分类Dev

在while条件中使用未分配的局部变量和“无法写入已关闭的TextWriter”。

来自分类Dev

错误在C#中使用未分配的局部变量(开关)

来自分类Dev

在我的课程中使用未分配的局部变量(C#,silverlight)

来自分类Dev

为什么要使用非类型模板参数?

Related 相关文章

  1. 1

    在Graphics.Drawing中使用未分配的局部变量

  2. 2

    在调试中使用未分配的局部变量

  3. 3

    在尝试捕获中使用未分配的局部变量

  4. 4

    使用foreach循环时使用未分配的局部变量

  5. 5

    使用异步/等待时使用未分配的局部变量

  6. 6

    尝试返回 bool 时使用未分配的局部变量

  7. 7

    使用未分配的局部变量“ x”

  8. 8

    使用未分配的局部变量“ strCity”

  9. 9

    使用未分配的局部变量“ SHELLEXECUTEINFO”

  10. 10

    使用未分配的局部变量数组

  11. 11

    使用未分配的局部变量“ folderPath”

  12. 12

    错误“使用未分配的局部变量”?

  13. 13

    使用未分配的局部变量“书”

  14. 14

    非类型模板参数

  15. 15

    在模板专门化中使用非类型模板template参数

  16. 16

    在分配它的if-else语句中使用未分配的局部变量

  17. 17

    可以使用自动占位符来推断非类型模板参数的函数结果吗?

  18. 18

    类型和非类型模板参数可互换使用

  19. 19

    使用已分配的未分配局部变量

  20. 20

    在foreach循环中出现“使用未分配的局部变量”错误,并返回收益

  21. 21

    模板非类型模板参数

  22. 22

    LINQ,输出参数和“未分配的局部变量的使用”错误

  23. 23

    使用未分配的局部变量:值类型与自定义结构

  24. 24

    从非类型模板参数确定类型

  25. 25

    推断非类型模板参数的类型

  26. 26

    在while条件中使用未分配的局部变量和“无法写入已关闭的TextWriter”。

  27. 27

    错误在C#中使用未分配的局部变量(开关)

  28. 28

    在我的课程中使用未分配的局部变量(C#,silverlight)

  29. 29

    为什么要使用非类型模板参数?

热门标签

归档