【发布时间】:2013-08-05 14:09:38
【问题描述】:
我正在尝试在 for 范围内声明和初始化不同类型的变量。 比如:
for (int i = 0, double u = 1; i < 10; ++i)
{...}
但编译器 (gcc) 会返回错误。
我知道可以使用相同类型的变量 (example) 执行初始化,但我不知道如何使用不同的变量执行初始化。
当然我可以在循环外声明变量:
double u = 1;
for (int i = 0; i < 10; ++i)
{...}
但我正在寻找一些干净的东西,因为变量 u 仅在 for 范围内使用。
所以,
- 可以吗?
- 如果可以,我该怎么做?
【问题讨论】:
-
最干净的方法可能是使其成为一个新范围并将
u放在循环之外。 -
知道了,唯一(丑陋的)方法是使用结构。在这种情况下,我唯一能做的就是在 for-scope 之外声明
u变量。