gpt4 book ai didi

c++ - 我在使用多重定义的符号时遇到问题 - main

转载 作者:太空宇宙 更新时间:2023-11-04 11:30:14 24 4
gpt4 key购买 nike

当我尝试在 Visual Studio 2010 中编译第二个文件时,它给出了多重定义符号的错误,这是有道理的,因为它编译了这两个文件并因此包含了 iostream 两次,导致“找到一个或多个多重定义的符号”错误过来。所以,我想也许我可以使用 include guards 来防止这种情况,但据我了解,您必须将 guards 添加到您要包含的文件中。此处正确的做法是什么?

1.cpp

#include <iostream>

using namespace std;

int main()
{
int x;

cout << "**********************************" << endl
<< "* Programming Assignment 1 *" << endl
<< "* Computer Programming I *" << endl
<< "* Author: Cedar Mora *" << endl
<< "* Due Date: Thursday, Jan. 24 *" << endl //this isn't true
<< "**********************************" << "\n" << endl;

cout << "press any key" <<endl;
getchar();

return 0;
}

2.cpp

#include <iostream>

using namespace std;

int main()
{
cout << "bla" << endl;

return 0;
}

附带说明一下,是否可以只编译项目的一个项目?

我通常不会问,我只是用谷歌搜索答案,答案就在那里,但我似乎无法理解这个问题。这迫使我不得不为我编写的每一部分代码打开一个单独的项目,以便编译。

最佳答案

正如其他人所指出的,您的问题只是有两个 main 函数。 main 是 C++(以及 Java 和 C#...)中的一个特殊函数,它告诉计算机从那里开始执行。像计算机一样思考——如果你一次只能执行一行,你会从哪里开始?例如,如果您从 1.cpp 开始,您怎么知道要跳转到 2.cpp 中的代码?要执行另一个函数中的代码,您必须调用它——否则,计算机将执行包含在 main 中的代码,然后终止。

关于c++ - 我在使用多重定义的符号时遇到问题 - main,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25050382/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com