Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
669 views
in Technique[技术] by (71.8m points)

c++ - Compile-time error: Multiple definition of 'main'

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?

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

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.


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...