我只是想在 C 中实现我自己的头文件。首先,我有一个文件 INC2.h
void diffadd(int b[], int n);
int diffcheck(int m);
然后我制作一个文件 INC2.cpp
void diffadd(int b[], int n)
{
int i=0;
for (i=0; i < n; i++)
{
b[i]=b[i]+1;
printf("\n%d",b[i])
}
}
int diffcheck(int m)
{
return (m*5);
}
然后在主文件 LETS.cpp
#include"inc2.h"
void main()
{
clrscr();
int a[5]={1,2,3,4,5};
diffadd(a,5);
int t=diffcheck(5);
printf("t=%d",t);
getch();
}
现在我编译inc2.cpp。美好的!
然后我编译lets.cpp。
我收到以下错误:
模块 LETS.cpp 中未定义的符号 diffcheck(int)
模块 LETS.cpp 中未定义的符号 diffadd(int near*, int)
有趣的是,如果我在 LETS.cpp 中包含 inc2.cpp,它可以工作。
如果我创建一个单独的头文件 HEAD.h 并在此处定义所有函数,则它可以工作。
请解释这里发生了什么!