可以这样做:
case WM_COMMAND:
if (WORD wNotifyCode = HIWORD(wparam))
{
...
}
可以这样做:
case WM_COMMAND:
{
WORD wNotifyCode = HIWORD(wparam);
if (wNotifyCode > 1) {
...
}
}
但是不能这样做:
case WM_COMMAND:
if ((WORD wNotifyCode = HIWORD(wparam)) > 1)
{
...
}
我认为在这里使用 for 语句会产生误导:
case WM_COMMAND:
for (WORD wNotifyCode = HIWORD(wparam); wNotifyCode > 1; wNotifyCode = 0)
{
...
}
因为它看起来很像一个循环正在发生 - 而追随我的可怜的笨蛋必须破译这些垃圾。
但是,有没有一种语法结构可以将包含局部变量声明的 if 语句的优雅与测试其值是否为零的能力相结合?