【发布时间】:2012-02-12 04:27:35
【问题描述】:
快速提问。
我试图确定 C++,今天我花了几个小时处理双重定义链接器错误(“这已经被定义了!”),我终于意识到这是因为我有这样的布局:
-
main.cpp
#include Dog.cpp -
狗.cpp
#include Dog.h -
狗.h
// (Dog class and prototype of test function)
现在我已经通过在 main.cpp 中包含 Dog.h 而不是 Dog.cpp 来解决这个问题。
通过包含.h文件,具有相同前缀的.cpp文件是否会与程序一起编译?
当程序运行时只包含 .h 而没有任何对 Dog.cpp 的引用时,我感到很震惊。我花了很长时间在谷歌上搜索,但没有任何答案能真正帮助我理解发生了什么。
编辑:我忘了补充说我在 .h 中进行了原型设计,并在 .cpp 中为类定义了函数,这就是给我“已定义”错误的原因。
【问题讨论】: