我在主函数之外的源文件调用函数conv,但但调用时总会出现如下错误:\conv.h(2) : error C2143: syntax error : missing ')' before 'constant'\conv.h(2) : error C2143: syntax error : missing '{' before 'constant'\conv.h(2) : error C2059: syntax error : '<Unknown>'conv函数如下:#include <stdio.h>void conv(float x[],int m,float h[],int n,float y[],int l,float dt){ int k,i; for(k=0;k<l;k++) { y[k]=0.0; for(i=0;i<m;i++) if((k-i)>=0&&(k-i)<=n-1) y[k]=y[k]+x[i]*h[k-i]*dt; }}感觉语句中没少什么啊,但为什么总有这样的错误,是因为主函数中的错误吗还是什么,求助各位高手啊
估计是你定义了#define m xx和#define n xx 或#define l xx等等了。这样,一些编译器就会把void conv(float x[],int m,float h[],int n,float y[],int l,float dt)中的m、n或l误认为是常量,从而产生你贴上来的错误提示。你把类似#define m xx定义中的字母改成大写,即改成形如#define M xx,再把主函数中对应的小写字母也改成大写,一般来说就OK了……