【发布时间】:2012-01-28 12:06:54
【问题描述】:
为什么这段C++代码在VS2010下编译不出来:
for ( int a = 0, short b = 0; a < 10; ++a, ++b ) {}
虽然这个是:
short b = 0;
for ( int a = 0; a < 10; ++a, ++b ) {}
是否禁止在 for 循环初始化器中声明两个不同类型的变量?如果是这样,您如何解决它?
【问题讨论】:
-
看起来像你说的。使用相同类型的作品:
for ( int a = 0, b = 0; a < 10; ++a, ++b ) {}嗯。以前从未注意到这一点。 -
是的,这是来自 C 语言的“双循环”机制。不过,相当罕见。不太可读。
标签: c++ for-loop scope initializer variable-declaration