我今天刚开始通过做 Project Euler 问题来学习 c++。我的问题是,在 Java 中,我可以将问题组织到他们自己的包中,但是如何在 C++ 中做到这一点?
下图显示了我的 Java/c++ 设置。Java 部分对我来说非常有效,但是,我不能在 C++ 中做同样的事情(使用文件夹和命名空间)而不会出现“主的多个定义”错误。
如何在“Project Euler C++”文件夹中解决所有个别问题?谢谢
编辑:经过数小时的搜索,我发现这篇文章为我的问题提供了最好和最简单的解决方案
在 c 和 c++ 中,您只能有一个 main() 函数。我猜这里的问题是 Problem1.cpp 和 Problem2.cpp 在同一个项目中,但每个都有一个 main() 函数。查找如何使用头文件,然后将头文件包含在您的主程序中。
您的问题与 C++ 无关,而与 Eclipse 有很大关系(nb NetBeans IDE 也好不到哪里去,我相信还有很多其他问题)。您有一个 Eclipse 项目,但有多个定义main()
,每个定义都需要放在自己的可执行文件中。
有关更多详细信息和一些建议,请参见此处:Project with multiple binaries in Eclipse CDT
您还可以编写一个main()
基于第一个命令行参数分派到多个其他“子主”函数的单个函数。一些程序以这种方式运行,包括许多版本控制系统(例如git add
,git commit
它们都调用一个程序,然后根据第一个参数分出工作)。