isnan函数 linux,为什么isnan含糊不清以及如何避免它?
既然isnan可以是宏(在C++ 98中)或在命名空间std中定义的函数(在C++ 11中),这个简单的例子说明了编写在两种情况下都有效的代码的明显(并且可能是天真的)方式.
#include
int main() {
double x = 0;
using namespace std;
isnan(x);
}
但是,编译它会在GCC(使用-std = c ++ 11)和Clang中产生错误:
test.cc: In function ‘int main()’:
test.cc:6:10: error: call of overloaded ‘isnan(double&)’ is ambiguous
isnan(x);
^
test.cc:6:10: note: candidates are:
In file included from /usr/include/features.h:374:0,
from /usr/include/x86_64-linux-gnu/c++/4.8/bits/os_defines.h:39,
from /usr/include/x86_64-linux-gnu/c++/4.8/bits/c++config.h:426,
from /usr/include/c++/4.8/cmath:41,
from test.cc:1:
/usr/include/x86_64-linux-gnu/bits/mathcalls.h:234:1: note: int isnan(double)
__MATHDECL_1 (int,isnan,, (_Mdouble_ __value)) __attribute__ ((__const__));
^
In file included from test.cc:1:0:
/usr/include/c++/4.8/cmath:626:3: note: constexpr bool std::isnan(long double)
isnan(long double __x)
^
/usr/include/c++/4.8/cmath:622:3: note: constexpr bool std::isnan(double)
isnan(double __x)
^
/usr/include/c++/4.8/cmath:618:3: note: constexpr bool std::isnan(float)
isnan(float __x)
^
为什么在C++ 11中这是不明确的,以及如何使它适用于C++ 98和C++ 11,最好不需要太多的条件编译?
isnan函数 linux,为什么isnan含糊不清以及如何避免它?相关推荐
- (转)isnan函数matlab
转 isnan函数matlab 2018年06月12日 22:00:04 甲虫ss 阅读数 1669 isnan函数:判断数组的元素是否是NaN.(Not a Number) matlab中出现NaN ...
- isnan 函数 -javascript1.1
JavaScript中isNaN函数方法是返回一个 Boolean 值,指明提供的值是否是保留值 NaN (不是数字). 使用方法: isNaN(numValue) 其中必选项 numvalue 参数 ...
- js判断是否是数字——isNaN()函数
今天使用isNaN()函数判断是否是数字时遇到的问题,当变量是空串时,isNaN()的返回值还是false,但空串却不是数据,查了一下,才知道原来isNaN()把空串或空格作0处理的. isNaN 返 ...
- isnan函数返回值c语言,C++ std::isnan等函数的使用
C和C++11标准提供了类似于isnan.isfinite.isinf.isnormal.fpclassify分别用于判断是非数(NaN)值.有限制.无穷值.正常数值等. 今天在使用Modbus读取设 ...
- java中isnan函数_isNaN()函数以及JavaScript中的示例
java中isnan函数 Prerequisite: NaN property in JavaScript 先决条件: JavaScript中的NaN属性 isNaN()函数 (isNaN() fun ...
- clickhouse查询NaN使用isNaN函数处理
问题查询clickhouse 使用avg()等函数指定条件查询不到数据返回NaN数据 一开始处理-只可以解决整数问题 利用case when then else end处理 出现问题假若value有值 ...
- isnumeric java_IsNumeric 判断字符串是否为数字(使用Val函数实现),这个函数相当于Java的IsNaN函数...
IsNumeric 判断字符串是否为数字,如果是数字返回true,如果包含有汉字或字符的话返回false. 由于Delphi本身没有IsNumeric这个函数,不像其它语言,这个函数相当于Java的I ...
- matlab中isnan函数
isnan函数:判断数组的元素是否是NaN.(Not a Number) matlab中出现NaN的情况: 任何关于NaN的运算, 加减法:(+inf)+(-inf) 乘法:0*inf 除法:0/0: ...
- JavaScript isNaN() 函数
JavaScript isNaN() 函数 返回 JavaScript 全局对象参考手册 定义和用法 isNaN() 函数用于检查其参数是否是非数字值. 语法 isNaN(x)参数 描述 x 必需.要 ...
最新文章
- KS012基于SSM实现个人记账管理系统
- 测量大脑的快速光信号可以加快BCI响应
- oracle not available
- Hibernate映射详解(二)--多对一,一对多单向,一对多双向关联映射
- 成功解决raise XGBoostError(_LIB.XGBGetLastError()) xgboost.core.XGBoostError: b'[22:08:00] C:\\Users\\Ad
- java的多线程实现方式_java 多线程实现方式
- Java黑皮书课后题第3章:*3.33(金融:比较成本)假设你要通过两种不同的包裹运输大米。你可能会编写一个程序来比较成本,该程序提示用户输入每个包裹的重量和价格,然后显示具有更优惠的包裹
- Java GC原理简单讲解
- 《测试驱动开发》读书笔记
- 不看就亏系列!这里有完整的 Hadoop 集群搭建教程,和最易懂的 Hadoop 概念!| 附代码...
- Mybatis if 判断等于一个字符串
- wps嵌入字体后也不改变_冬至后的君子兰,养护方式要改变,不然过年不开花
- 在属性级情感分析中结合BERT和语法信息
- 计算机通过华为手机上网,华为手机usb共享电脑的网络怎么办
- 转换YV12到RGB565图像转换,附YUV转RGB测试
- 苹果开发者关联封号扫盲贴
- CNN(卷积神经网络)的深度
- 一首光辉岁月的歌词,送给自己
- 第一代电子计算机使用的逻辑部件是( ),第一代电子计算机使用的逻辑部件是
- python实现大数定理