このコードを検討してください
#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() を "dummy.cpp" で次のように定義します。
#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() への未定義の参照を訴えるリンカ エラーが発生します。
あらゆる洞察。
--