假设我有一个非常小的头文件,如下所示:
#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'`,但我只定义了一次!源文件 (.c) 只调用它。我的问题是什么?谢谢