for循环中的数组由于某种原因不起作用

时间:2015-05-05 19:25:43

标签: c++ arrays for-loop compiler-errors

我不明白为什么在语法正确时不会编译:

int arrows[1] = {23};
    for(arrows[1]; arrows[1] < 300; arrows[1]++)
    {
      cout << arrows[1];
    }

错误:

  

错误:在'for'!!

之前预期的nonqualified-id      

错误:'箭头'没有   命名一个类型!!

     

错误:'箭头'未命名类型

我正在使用this online compiler(x86 GCC 4.9.2)。

3 个答案:

答案 0 :(得分:3)

在声明数组时指定其大小,这就是为什么在你的情况下1是正确的,如果你想要一个大小为1的数组。

访问数组元素时,需要使用基于0的索引。因此,要访问数组的第一个元素,您将使用0。

您的代码将如下所示

#include <iostream>

int main()
{
    int arrows[1] = {23};

    for(arrows[0]; arrows[0] < 300; arrows[0]++)
    {
        std::cout << arrows[0];
    }

    return 0;
}

答案 1 :(得分:2)

我认为交互式编译器坏了。它甚至失败了:

for(;;) {
}

编辑:我错了......你不能只把代码放在那里,添加main函数。

#include <iostream>    
int main( int argc, const char* argv[] )
{
    int arrows[1] = {23};
    for(arrows[1]; arrows[1] < 300; arrows[1]++)
    {
        std::cout << arrows[1];
    }
}

答案 2 :(得分:0)

我相信使用这个在线编译器学习不是正确的方法......

此代码适用于&#34; normal&#34;开发环境。

@media screen and (-webkit-min-device-pixel-ratio:0) { 
    /* Safari and Chrome, if Chrome rule needed */
    .container {
     margin-top:100px;
    }

    /* Safari 5+ ONLY */
    ::i-block-chrome, .container {
     margin-top:0px;
    }