检查值是否在if statment的范围内

Pro*_*mer 1 c++

我在下面做了:

if( '0' <= infix.at(i)<= '9'){
// some logic
}
Run Code Online (Sandbox Code Playgroud)

编译器告诉我警告在操作中不安全地使用'bool'类型.我将其更改为以下内容:

if( '0' <= infix.at(i)&& infix.at(i) <= '9') 
Run Code Online (Sandbox Code Playgroud)

现在它有效.是第一个不允许在C++中?

Amb*_*ber 8

第一个版本的评估方式如下:

if( ( '0' <= infix.at(i) ) <= '9' )
Run Code Online (Sandbox Code Playgroud)

这就是为什么你得到一个警告bool- 你结束了true/false <= '9'没有意义.

有些语言允许您链接比较运算符,但C++不是其中之一.