【问题标题】:standard for loop: "'i' was not declared in this scope"循环标准:“'i' 未在此范围内声明”
【发布时间】:2015-12-18 17:01:40
【问题描述】:

我不明白我在犯什么错误。我得到的错误与标题中的相同。

请帮我找出问题。

#include <iostream>

void main() {
    for (i=1; i<=100; i = i+1) {
        std::cout << i << std::endl;
    }
    return 0;
}

编辑:

好的,我明白了。是不是在 2008 年您不必声明 for-loop 变量?因为我正在使用的书没有for 循环中声明i

【问题讨论】:

  • 答案与错误中的相同。

标签: loops for-loop


【解决方案1】:

你忘了声明变量 i

int i = 1;

【讨论】:

    【解决方案2】:

    你初始化了i但没有声明,把i=1改成:

    int i=1
    

    关于您的编辑:

    没办法。 C 曾经是一种强类型语言,现在仍然是。在您可以访问变量之前,您必须声明它们。你也应该初始化它们。因为如果你不这样做,你会得到意想不到的结果,例如 Segmentation Faults 或一些“随机”(不要将它们用作随机数生成器!)值。

    【讨论】:

      【解决方案3】:
      for (int i = 1; i <= 100; i = i + 1)
      

      【讨论】:

        【解决方案4】:

        好吧,我明白了。难道是在 2008 年您不必在 for 循环中声明变量吗?因为我正在工作的书没有在 for 循环中声明 i 变量!

        【讨论】:

        • 即使在 2008 年,您也必须在某处声明索引(在老式 C 中,您不能在 for 语句中声明它,但必须在此之前声明 if)。您的“答案”应该是评论或对您的问题的修改。
        猜你喜欢
        • 2016-04-14
        • 1970-01-01
        • 1970-01-01
        • 2021-09-20
        • 2016-08-09
        • 2019-02-17
        • 2021-01-07
        • 2016-10-27
        相关资源
        最近更新 更多