【发布时间】:2011-12-12 06:33:23
【问题描述】:
这是C++, variable declaration in 'if' expression的后续行动
if( int x = 3 && true && 12 > 11 )
x = 1;
规则(据我所知)是:
- 每个表达式只能声明 1 个变量
- 变量声明必须首先出现在表达式中
- 必须使用复制初始化语法 不能 直接初始化语法
- 声明周围不能有括号
根据this answer,1 和 2 是有道理的,但我看不出 3 和 4 的任何原因。其他人可以吗?
【问题讨论】:
-
戴夫 - 你为什么要做这么愚蠢的事情?
-
@EdHeal 我不是。这只是一种好奇心。
标签: c++ if-statement variable-declaration