MinGW不支持std::defaultfloat,如何引导?
MinGW do not support std::defaultfloat, how to lead with it?
每个编译器都有自己的一组已实现和未实现的标准功能,这很可悲,但这就是生活。
在尝试将我们为 VS 完成的项目编译到 MinGW 时,出现错误
std::defaultfloat
ERROR: "defaultfloat" is not member of "std"
看来他的C++11的特性还没有实现
我想编写一些条件代码来避免此错误,但不删除该功能:
#ifdef std::defaultfloat
stream << std::defaultfloat << value;
#else
// My own temporal equivalent
#endif
这当然行不通,命名空间的原因,我想知道是否有更好的预编译指令替代方案。
为什么不直接写:
stream.unsetf(std::ios_base::floatfield);
stream << value;
那就行了。 (没有那么漂亮,但比 #ifdef
s 漂亮。)
或者您可以编写自己的操纵器来执行相同的操作。
每个编译器都有自己的一组已实现和未实现的标准功能,这很可悲,但这就是生活。
在尝试将我们为 VS 完成的项目编译到 MinGW 时,出现错误
std::defaultfloat
ERROR: "defaultfloat" is not member of "std"
看来他的C++11的特性还没有实现
我想编写一些条件代码来避免此错误,但不删除该功能:
#ifdef std::defaultfloat
stream << std::defaultfloat << value;
#else
// My own temporal equivalent
#endif
这当然行不通,命名空间的原因,我想知道是否有更好的预编译指令替代方案。
为什么不直接写:
stream.unsetf(std::ios_base::floatfield);
stream << value;
那就行了。 (没有那么漂亮,但比 #ifdef
s 漂亮。)
或者您可以编写自己的操纵器来执行相同的操作。