【发布时间】:2011-03-08 15:32:54
【问题描述】:
考虑这段代码
#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() 的未定义引用。
任何见解。
--
【问题讨论】:
标签: c++ inline-method