gpt4 book ai didi

c++ - boost::multiprecision::float128 和 C++11

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:07:12 24 4
gpt4 key购买 nike

我尝试在 C++11 (gcc 4.8.1) 下使用 boost::multiprecision::float128 (boost 1.55.0),但出现以下编译器错误:

/cm/shared/apps/boost/gcc/1.55.0/include/boost/multiprecision/float128.hpp: In static member function ‘static std::numeric_limits<boost::multiprecision::number<boost::multiprecision::backends::float128_backend, ET> >::number_type std::numeric_limits<boost::multiprecision::number<boost::multiprecision::backends::float128_backend, ET> >::min()’:
/cm/shared/apps/boost/gcc/1.55.0/include/boost/multiprecision/float128.hpp:533:55: error: unable to find numeric literal operator ‘operator"" Q’
static number_type (min)() BOOST_NOEXCEPT { return 3.36210314311209350626267781732175260e-4932Q; }

我不能在 C++11 中使用 boost::multiprecision::float128 吗?或者我还有什么办法让它工作?

编辑

只是为了澄清。此错误由

生成
#include <boost/multiprecision/float128.hpp>

编译器对语句不满意

return 3.36210314311209350626267781732175260e-4932Q;

特别是 Q 令人困惑。我使用了编译器标志 -std=c++11 -fabi-version=0 -march=native -mfpmath=sse

最佳答案

It looks like a known issue .尝试使用 -fext-numeric-literals 进行编译。

关于c++ - boost::multiprecision::float128 和 C++11,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25365160/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com