错误:'for'之前的预期unqualified-id

Mor*_*ock 15 c++

以下代码返回: error: expected unqualified-id before ‘for’

我找不到导致错误的原因.谢谢您的帮助!

#include<iostream>

using namespace std;

const int num_months = 12;

struct month {
    string name;
    int n_days;
};

month *months = new month [num_months];

string m[] = {"Jan", "Feb", "Mar", "Apr", "May", "Jun", 
              "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"};
int n[] = {31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};

for (int i=0; i<num_months; i++) {
    // will initialize the months
}

int main() {
    // will print name[i]: days[i]
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

mis*_*tor 28

你的for循环在函数体之外.


Ant*_*res 6

好吧只是为了让这个答案清楚(因为我也犯了新手的错误).

for循环在int main()之外以及其他所有东西,因为main()在代码的底部自己是空的.

对不起,对于一些人来说,不仅仅是需要说,但由于这个问题更多是针对新手的,因此需要更详细的解释.

  • 如果需要的话,其他所有内容都可以*位于main()之外,而其余的许多内容(如结构和类)则必须*位于main()之外。另外,这意味着'main()'是唯一可以包含变量的函数。问题在于for()循环位于* any *函数之外,而不仅仅是main()。 (3认同)