主题:[讨论]关于函数定义和重复定义的问题
最近修改了一个代码文件,里面有几个c文件和h文件,我在修改的时候按照他原先固有的格式,将每个函数的声明部分写在了.h文件中,将定义不分写在了.c文件中,自己以为没问题了,但是在编译的时候总是出现这样的编译错误:
match.c
error C2061: syntax error : identifier 'affine'
。。。。。。。。。。
。。。。。。
xform.c
d:\myprojects\sift\xform.h(24) : error C2061: syntax error : identifier 'affine'
这两个错误我查了一下网上的说法是因为定义出现了问题或者重复定义了,但是我没弄明白是怎么回事。我在编写程序的时候具体的做法是在xform.h文件中声明了affine函数为
extern BOOL affineransac(struct Point_Pair * );
然后在xform.c中定义了这个函数,并且这个xform.c文件包含了头文件#include "xform.h"。当然affine函数里面还有很多其他的子函数,但是我是在xform.c中声明并定义的,首先我想问问这样声明并定义其他的子函数的方式是不是可以的?
然后我在主函数所在的match.c文件中直接调用了affine函数,并且也包含了头文件#include "xform.h"。就这样进行了编译出现了以上两个错误,不知道是哪个地方出现问题了呢?是我的这种定义方式不对还是这个头文件的引用不对造成了syntax error : identifier这个错误。
亟待高手来帮忙解答啊!!!!!!!!拜谢。。。
match.c
error C2061: syntax error : identifier 'affine'
。。。。。。。。。。
。。。。。。
xform.c
d:\myprojects\sift\xform.h(24) : error C2061: syntax error : identifier 'affine'
这两个错误我查了一下网上的说法是因为定义出现了问题或者重复定义了,但是我没弄明白是怎么回事。我在编写程序的时候具体的做法是在xform.h文件中声明了affine函数为
extern BOOL affineransac(struct Point_Pair * );
然后在xform.c中定义了这个函数,并且这个xform.c文件包含了头文件#include "xform.h"。当然affine函数里面还有很多其他的子函数,但是我是在xform.c中声明并定义的,首先我想问问这样声明并定义其他的子函数的方式是不是可以的?
然后我在主函数所在的match.c文件中直接调用了affine函数,并且也包含了头文件#include "xform.h"。就这样进行了编译出现了以上两个错误,不知道是哪个地方出现问题了呢?是我的这种定义方式不对还是这个头文件的引用不对造成了syntax error : identifier这个错误。
亟待高手来帮忙解答啊!!!!!!!!拜谢。。。