考虑这段代码
#include <iostream>
#include <cstdio>
using namespace std;
class Dummy {
public:
Dummy();
};
inline Dummy::Dummy() {
printf("Wow! :Dummy rocks\n");
}
int main() {
Dummy d;
}
这里一切都很好!
现在我做这个修改。我将 Dummy 的声明移至“dummy.h”。
class Dummy {
public:
Dummy();
};
并在“dummy.cpp”中定义构造函数 Dummy() 如下
#include "dummy.h"
inline Dummy::Dummy() {
printf("Wow! :Dummy rocks\n");
}
最后,我的主文件为:
#include <iostream>
#include <cstdio>
#include "dummy.h"
using namespace std;
int main() {
Dummy d;
}
它编译得很好,但我收到一个链接器错误,抱怨对 Dummy::Dummy() 的未定义引用。
任何见解。
--