声明默认参数,调用时不写参数出现问题

c++
h文件:void resize(int,char);
CPP文件:void resize (int size,char q)
{}
调用时:s5.resize(2);
报错了,为什么?

resize是类的成员函数吗?resize 有两个参数,你在调用的时候只输入了一个int类型的2,没有输出char类型的参数。
调用的时候应该写成:

s5.resize(2,'a'); //假设用'a'作为第二个参数


还有一种修改方式是,在.h文件定义的时候,给resize设置默认值,如下:
.h文件:void resize(int,char ch = 'a'); //让第二个参数默认是字符'a',这样调用的时候,s5.resize(2);就可以了,这时候,
s5.resize(2);等价于 s5.resize(2,'a');

s5是什麽东西,resize要求两个参数啊,你只输入了一个2,当然报错