error C2548: 缺少参数 2 的默认参数

.h文件
void DeleteTableRecursion(int beginPos, int &size, COuterIRelation *pt);
.cpp文件
void CCSyncSetDlg::DeleteTableRecursion(int beginPos=0, int &size, COuterIRelation *pt)
{
int i=0, k=0;
for(i=beginPos; i<size; i++)
{
if(vecNodes[i]->pt==pt && vecNodes[i]->type==SYNC_ROW)
{
//DeleteRowRecursion(i+1, size, vecNodes[i]->pr);
vecNodes[i]->bDel = FALSE;
vecNodes[i]->bNew = FALSE;
}
}
}

然后编译报错:
1>e:\csyncset\csyncset\csyncsetdlg.cpp(463) : error C2548: “CCSyncSetDlg::DeleteTableRecursion”: 缺少参数 2 的默认参数
1>e:\csyncset\csyncset\csyncsetdlg.cpp(463) : error C2548: “CCSyncSetDlg::DeleteTableRecursion”: 缺少参数 3 的默认参数

原因:
C++语法规定:只要有一个默认参数,那么该参数后面的所有参数都必须指定默认值
C/C++ code

void f1(int i, int x = 0, int y);//错
void f2(int i, int x = 0, int y = 0);//对
这是为了能够判断你调用时省略的到底是哪一个参数
解决:你可以改成这种形式,将调用的都相对的改一下
参考:http://topic.csdn.net/u/20090711/22/51677a10-54ab-4878-afaf-ae0a351f7a36.html
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值