C++ 如何使用默认参数调用函数?
我在头文件中定义了一个函数,如下所示:C++ 如何使用默认参数调用函数?,c++,C++,我在头文件中定义了一个函数,如下所示: int myfunction(VpTR*& viewporttable, wchar* vpname=L"*Active", OpenMode f=fR); 如何调用此函数而忽略第二个参数? 我尝试用以下代码调用它,但出现了一条错误消息:需要一个表达式 myfunction(myviewporttable,, fR); 我可以省略这个参数,但它仍然将L“*Active”理解为被调用的值吗?语法不允许省略任意位置的参数值,只
int myfunction(VpTR*& viewporttable, wchar* vpname=L"*Active", OpenMode f=fR);
如何调用此函数而忽略第二个参数?
我尝试用以下代码调用它,但出现了一条错误消息:需要一个表达式
myfunction(myviewporttable,, fR);
我可以省略这个参数,但它仍然将L“*Active”理解为被调用的值吗?语法不允许省略任意位置的参数值,只允许省略列表末尾的参数值 您必须重载2个版本:
int myfunction(VpTR*& viewporttable, OpenMode f=fR) {
return myfunction(viewporttable,L"*Active",L"*Active",f);
}
int myfunction(VpTR*& viewporttable, wchar* vpname=L"*Active", OpenMode f=fR);
然后你可以打电话
myfunction(myviewporttable, fR);
你不能。C++没有命名的参数支持其他语言,所以你不能忽略任何参数,你仍然可以用参数调用它:MyFoeLoad(MyVIEWTABLE,L)*活动,“FR”,使帮助转发函数<代码> int MyStalm(VPTR*VIEWPATABLE,OpenMODE F){MealMyType(VIEWPATABLE,L * *活动,F);}<代码>谢谢大家我的问题解决了!