Integer spirit:uint解析器:解析1到31之间的数字

Integer spirit:uint解析器:解析1到31之间的数字,integer,boost-spirit-qi,Integer,Boost Spirit Qi,我使用uint_解析器最多解析2个连续数字。 但是,如果解析的整数超出范围[1,31],我希望解析失败? 现在,我在语义动作中处理这个问题 是否有建议在解析级别与语义操作用户代码级别重新检测错误?顺便说一句,我将尝试在语义操作内部使用_pass=false来指示解析失败,当解析的数字超出所需范围时。另一种替代方法是显式使用char _进行解析。即,char_0后跟char_'1'、'9'或char_'1'、'2'后跟char_'0'、'9'或char_'3'后跟char_'0'、'1'或char

我使用uint_解析器最多解析2个连续数字。 但是,如果解析的整数超出范围[1,31],我希望解析失败? 现在,我在语义动作中处理这个问题


是否有建议在解析级别与语义操作用户代码级别重新检测错误?

顺便说一句,我将尝试在语义操作内部使用_pass=false来指示解析失败,当解析的数字超出所需范围时。另一种替代方法是显式使用char _进行解析。即,char_0后跟char_'1'、'9'或char_'1'、'2'后跟char_'0'、'9'或char_'3'后跟char_'0'、'1'或char_'1'、'9'