我正在尝试编写一个解析器,它解析 aint32_t
或 a double
。作为第一次尝试,我编写了这个解析器:
const auto int_or_double = boost::spirit::x3::int32 | boost::spirit::x3::double_;
我希望得到一个boost::variant<int32_t, double>
解析器成功解析整数,12, 100, -42, 7
但它无法解析双精度数13.243, 42.7, 12.0 -10000.3
这是一个现场演示
为什么这个解析器在双打上失败?