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

我在主函数之外的源文件调用函数conv,但但调用时总会出现如下错误:\conv.h(2):errorC2143:syntaxerror:missing')'before'... 我在主函数之外的源文件调用函数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;
}
}
感觉语句中没少什么啊,但为什么总有这样的错误,是因为主函数中的错误吗还是什么,求助各位高手啊
展开
 我来答
White_MouseYBZ
推荐于2017-10-01 · TA获得超过4万个赞
知道大有可为答主
回答量:2.1万
采纳率:82%
帮助的人:6522万
展开全部
估计是你定义了#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了……
履冰踏雪
2012-12-31
知道答主
回答量:17
采纳率:0%
帮助的人:12.3万
展开全部
conv.h的第二行出的问题
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式