我正在使用 C++ 进行一些序列数据分析,并且发现很难跨文件调用函数。假设我有一个带有关联标题 A.cpp
的文件 A.hpp
。 A.cpp
有一个 Main()
函数和一个 My_Func()
函数,我希望在 B.cpp
中重用,它也有一个 Main()
函数。我的问题是,如何从 My_Func()
调用 B.cpp
?我不允许编译 A.cpp
并将其与 B.cpp
链接,因为它会为程序创建两个入口点(两个主干线)。
我能想到的解决方案是在My_Func()
中实现A.hpp
而不是A.cpp
并在A.hpp
中包含B.cpp
,即去{{3 }}。但这似乎非常低效(尽管可以接受)。我认为应该有更好的解决方案,即在 python 中我可以做 from A import My_Func
。我想知道干净地处理这个问题的规范方法是什么?提前致谢!
答案 0 :(得分:1)
创建另一个头文件,例如common.hpp
并在该头文件中声明 My_Func()
的函数定义。
然后,创建另一个 cpp 文件 common.cpp
并在其中实现函数。
现在,如果您在 common.hpp
和 A.cpp
中都包含 B.cpp
,则从 My_Func()
和 A.cpp
调用 B.cpp
都可以。