【发布时间】:2016-04-15 12:44:04
【问题描述】:
我想知道为什么我不能在下面的表达式中声明一个变量。
string finalgrade = ( ( int grade = 100 ) < 60 ) ? "fail" : "pass";
虽然我们可以在 for 语句中声明一个变量。
【问题讨论】:
-
你为什么要这样做?
-
@TartanLlama 只是好奇,想知道为什么。
-
这毫无意义。声明将被限定在语句内部,并随语句一起消失。
-
这对我来说似乎并非完全没有意义,它允许像
std::string name = (Widget const* w = getWidget(id) ? w->name : "n/a")这样的构造。
标签: c++ language-lawyer