Скажем, у меня очень маленький заголовочный файл, например:
#ifndef A_H_
#define A_H_
void print();
int getInt()
{ //ERROR HERE
return 5;
}
#endif /* A_H_ */
И исходный файл, реализующий печать так:
#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'` в заголовочном файле, но я только
определил это один раз! Исходный файл (.c) только вызывает его. В чем моя проблема?
Спасибо