为什么我的C++程序不运行?

Jos*_*ron -3 c++

#include <cstdlib>
#include <iostream>

    int GenerateID()
    {
        using namespace std;
        static int nNextID = 0;
        nNextID++;
        if (nNextID <= 20)
        cout << nNextID << endl;
    }

int main()
{
    int GenerateID();
    system("pause");
}
Run Code Online (Sandbox Code Playgroud)

上面的程序为什么不运行?我想用这个程序从1-20生成控制台号码.

实际上,该程序正在运行.但是,该程序不会生成任何输出.我期望的输出是数字120上由空格分隔一行.我观察到空白,即没有输出.

该程序不会崩溃.没有编译器错误或警告.事实上,这是一个程序的演练:

我导入两个库,cstdlib用于执行使用系统命令systemiostream用于输入和输出对象cincout分别.它们位于std命名空间中,所以我输入using namespace std因为我很懒,不想输入std::cout.

然后我初始化nNextID0,增加它,如果它小于20,它将输出nNextID.这是功能的结束.

我从该函数调用该函数main并用于pause结束该程序.那么,为什么我拿到的时候我期待空白输出120一行,用空格分隔的数字吗?

Ker*_* SB 6

你的主要功能应该是:

int main()
{
    GenerateID();
    system("pause");
}
Run Code Online (Sandbox Code Playgroud)

  • @ m0skit0:`main`不需要return语句,它很特别. (7认同)