#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");
}
why isn't the above program running? I want it to generate on the console numbers from 1-20 with this program.
In fact, the program is running. However, the program is not generating any output. I expect the output to be the numbers 1
to 20
on one line separated by a space. I observe blank, i.e. no output.
The program does not crash. There are no compiler errors or warnings. In fact, here is a walk-through of the program:
I import two libraries, cstdlib
for executing system commands using system
and iostream
for the input and output objects cin
and cout
, respectively. They're located in the std
namespace so I type using namespace std
because I'm lazy and don't want to type std::cout
.
Then I initialize nNextID
to 0
, increment it, and if it's less than 20 it shall output nNextID
. This is the end of the function.
I call that function from main
and use pause
to end the program. So, why do I get blank output when I am expecting 1
to 20
on a line, numbers delimited by spaces?