宣言はヘッダーファイルに、定義はソースファイルに、ソースとヘッダーは同じ名前で書くべきだと聞いたことがあります。そして、ソースにヘッダーを含めるだけです。
例を次に示しmyFile.h
ます。
void printer (void);
でのプリンターの実装は次のmyFile.cpp
とおりです。
#include "myFile.h"
#include <iostream>
using namespace std;
void printer ()
{
cout<< "I am a printer";
}
これが私のものmain.cpp
です:
#include "myFile.h"
int main ()
{
printer();
return 0;
}
プログラムを実行すると、予想されるエラーが表示されます: undefined reference to printer
. しかし、github や他のプロジェクトのコードを見ると、通常、ソース ファイルではなくヘッダー ファイルが含まれていることがわかります。ヘッダーガードも使用してみましifndef
たが、それでも同じエラーが発生しました。次の場合、メイン プログラムは正常にコンパイルされます。
myFile.h に myFIle.cpp を含める場合
メインに myFile.cpp だけを含める場合
同じことをしている間、私は一般的に何をしていますか?