次のような非常に小さなヘッダー ファイルがあるとします。
#ifndef A_H_
#define A_H_
void print();
int getInt()
{ //ERROR HERE
return 5;
}
#endif /* A_H_ */
そして、以下のように print を実装するソースファイル:
#include "a.h"
void print()
{
printf("%d\n",getInt()); //WARNING HERE
}
そして私の main() 関数コード:
#include <stdio.h>
#include <stdlib.h>
#include "a.h"
int main(void)
{
print();
return EXIT_SUCCESS;
}
getInt
がヘッダー ファイルで定義され、ソース ファイルで呼び出されることに注意してください。コンパイルするとmultiple definition of
、ヘッダー ファイルに getInt'` が表示されますが、定義したのは 1 回だけです。ソース ファイル (.c) はそれを呼び出すだけです。私の問題は何ですか?ありがとう