print NaN value
print NaN value
我如何使下面的代码工作?我想打印"未定义"而不是-1。# IND00
int myprint(const char* format, ...)
{
va_list args;
va_start (args, format);
int ret;
if(_isnan(static_cast<float>(*args)))
ret = printf ("non defined");
else
ret = vprintf (format, args);
fflush(stdout);
va_end (args);
return ret;
}
int main()
{
myprint("%f", sqrt(-1.0));
return 0;
}
你不能像那样使用args
,你必须使用va_arg
来获得一个实际的参数
if(_isnan(va_arg(args,double)))
可以解决这个问题,但是对你没有多大帮助。您不能从参数中推断类型。输入给va_arg
的类型必须是传入对象的实际类型
并且,您的vprintf
调用也不会工作,您需要"重新启动"va_list,因为va_arg
已经"消耗"了一个参数。
相关文章:
- 瓦尔格林德:数学函数"Conditional jump or move depends on uninitialised value(s)"
- g++的分段错误(在NaN上使用to_string两次时)
- 输出是NaN,如何
- 为什么static_assert错误:即使我传递常量"expression must have a constant value"?
- 为什么我在输出端得到 nan?
- 提升反序列化对象具有 nan 或 -nan 值
- Is !NaN not a NaN?
- 为什么我会" void value not ignored as it ought to be"?
- NaN 上的宇宙飞船操作员
- C++ STL 排序会检查 NaN 吗?
- C++ 每次运行程序时我都会"nan"输出的问题
- 方法错误"not all control paths return a value"和方法不返回值
- C++/SDL "initial value of reference to a non-const must be an lvalue"
- 如何在 c++ 中理解这样的代码 [request->headers().Method()->value().getStringView())]
- std::<key-value>不同类型的对向量
- c++ visual studio 64bit | save registers value
- 复制 -nan 表示浮点数,AVX __m256 复制后显示 0
- 如何使用 Node-addon-API 实现 node-nan 回调
- 初始化数组、"memset"或" {//value} "的最佳方法是什么?
- print NaN value