C++ c2660 函数不接受一个参数

intmain(intargc,char**argv){char*filename;GetFps(filename);return0;}intGetFps(char*fi... int main(int argc, char** argv)
{
char*filename;
GetFps(filename);
return 0;
}
int GetFps(char*filename)
{
CvCapture * capture = cvCaptureFromFile(filename);//打开视频文件
IplImage*pImg = NULL;
int count = 0;
while ((pImg=cvQueryFrame(capture))!=NULL)
{
count++;
}
return count;
}

编译报错,提示错误 1 error C2660: “GetFps”: 函数不接受 1 个参数
展开
 我来答
金色潜鸟
推荐于2017-09-20 · TA获得超过3.2万个赞
知道大有可为答主
回答量:1.3万
采纳率:89%
帮助的人:5741万
展开全部
把函数定义搬到main() 以前,或 在 main() 前 加 函数原型声明:
int GetFps(char*filename);
语法上 就应当对了。
-------------------------
filename 应当是输入参数,应当有存储单元。若从命令行拍入,可以写:

int GetFps(char *filename); // 函数原型声明
int main(int argc, char** argv)
{
char filename[120]; //定态数组,有存放单元
if (argc < 2) {
printf("\aUsage: %s filename\n",argv[0]); // 用法提示
exit(0);
};
strcpy(filename,argv[1]); //从命令行位置参数1获得名字
GetFps(filename);
return 0;
}
下面函数定义不变
xoaxa
2014-02-07 · TA获得超过8611个赞
知道大有可为答主
回答量:6415
采纳率:72%
帮助的人:3498万
展开全部
查看函数cvCaptureFromFile()的原型定义,从错误信息来看,该函数的参数可能不止一个。

另外,调用该函数前,filename应该是含有文件名的字符数组,用一个不含有任何字符的字符串指针作为实参明显有误。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
Jelly_Chen_Zo
2014-02-07 · 超过14用户采纳过TA的回答
知道答主
回答量:30
采纳率:0%
帮助的人:20.9万
展开全部
使用函数时要先声明该函数。

在main函数上面声明要使用的函数
int GetFps(char*filename);
int main(int argc, char** argv)
{
char*filename;
.....
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式