为什么C语言中总有error C2143: syntax error : missing ')' before 'constant'

我在主函数之外的源文件调用函数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;
}
}
感觉语句中没少什么啊,但为什么总有这样的错误,是因为主函数中的错误吗还是什么,求助各位高手啊
最新回答
路遥归梦

2024-10-16 12:25:47

估计是你定义了#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了……
夜见树

2024-10-16 08:40:28

conv.h的第二行出的问题