本文主要是介绍函数含有缺省参数的声明定义报错,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
1、错误信息
myarray.cpp:24:5: error: default argument given for parameter 2 of ‘Pos MyArr::Find(ValType, Pos)’ [-fpermissive]24 | Pos MyArr::Find(ValType x,Pos pos = -1){| ^~~~~
In file included from myarray.cpp:3:
myarray.h:15:9: note: previous specification in ‘Pos MyArr::Find(ValType, Pos)’ here15 | Pos Find(ValType x,Pos pos=-1);| ^~~~
2、错误原因
函数有缺省参数时,不能在声明和定义函数时,重复设置缺省参数的值。
//错误代码
Pos Find(ValType x,Pos pos=-1);//声明
Pos MyArr::Find(ValType x,Pos pos = -1){}//定义
3、解决
Pos Find(ValType x,Pos pos=-1);//声明
Pos MyArr::Find(ValType x,Pos pos){}//定义,删去参数设置
这篇关于函数含有缺省参数的声明定义报错的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!