如何修复“此声明没有存储类或类型说明符”错误

时间:2019-02-08 15:53:31

标签: c++

代码不起作用

删除创建的foobar函数

int foobar() {

    while (value <= 499) {
        value++;

        total = total + value;

        if (value % 3 == 0) {
            cout << "FOO" << endl;
        }

        else if (value % 5 == 0) {
            cout << "BAR" << endl;
        }

        else if (value % 15 == 0) {
            cout << "FOO BAR" << endl;
        }

        else
            cout << value << endl;
    }

}

foobar;

cout << total << endl;

system("pause");
return 0;
}

如果我删除了初始函数foobar,它就可以工作,但是我需要它作为我分配的要求。

1 个答案:

答案 0 :(得分:1)

看一下代码片段的末尾,我假设整个内容都在main内部。在这种情况下,您尝试在函数foobar的定义内定义函数main

int main()
{
   int foobar()
   {
      // ...
   }

   // ...
}

您不能那样做。应该是这样的:

int foobar()
{
   // ...
}

int main()
{
   // ...
}

如果您发布的代码不是main内的 not ,那么您需要将这些尾随行放在main内。

但是,这里还有其他困惑。

  1. 您自己写了foobar;。那应该怎么办?您是要调用它并保存其价值吗?像int something = foobar();一样?

  2. foobar()也缺少return语句,所以这是错误的。

  3. total在哪里声明?它是main中的局部变量吗? foobar将无法访问。如果它是全局的,那么这行得通,但设计不好。

  4. 类似地,value似乎不存在。您需要使用声明使它存在。

总体而言,我建议您重新阅读C ++书籍,尤其是有关函数的章节。