Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Compile-time error: Multiple definition of 'main'

Tags:

c++

I am getting the following error: Multiple definition of `main'

I have created a new project, there are two c++ files in it:

File 1

#include <iostream>

 using namespace std;

int main()
{
    cout<<"Hello World";
    //fflush(stdin);
    //getchar();
    return 0;
}

File 2

#include <iostream>

using namespace std;

int main()
{
    cout<<"Demo Program";
    return 0;
}

When I press Build project and Run, I get error. How do I run these files?

like image 826
sandbox Avatar asked Jan 17 '12 10:01

sandbox


1 Answers

You cannot have two main functions in the same project. Put them in separate projects or rename one of the functions and call it from the other main function.

You can never have more than one main() function in your project since it is the entrypoint, no matter what the parameter list is like.

You can however have multiple declarations of other functions as long as the parameter list is different (function overloading).

File 1

#include <iostream>

using namespace std;

int main()
{
    cout<<"Hello World";
    otherFunction();
    return 0;
}

File 2

#include <iostream>

using namespace std;

void otherFunction()
{
    cout<<"Demo Program";
}

Dont forget the appropiate #includes.

like image 178
MrKiane Avatar answered Sep 30 '22 15:09

MrKiane