我想知道为什么我不能在下面的表达式中声明一个变量.
string finalgrade = ( ( int grade = 100 ) < 60 ) ? "fail" : "pass";
虽然我们可以在for语句中声明一个变量.
在C++中,声明只允许在声明语句中和控制结构中if
,while
并且for
.
由于声明的目的是引入一个名称,因此当一个包含范围的名称可见时,声明才有意义,并且这些选项只是明智的选择.声明语句将名称引入到周围的范围中,并且三个控制结构各自包含它们自己的内部范围,相应的声明引入该范围.