您好,匿名用户
随意问技术百科期待您的加入

怎么判断C++函数默认参数在调用时是否被赋值(还是使用了默认参数)

0 投票

例如下面的例子,能否(如何)区别fn1的两次调用。(与Common Lisp中的函数可选参数相似)
我刻意传递了与默认参数相同的值,防止仅仅使用比较值的方法区分。
Linux系统,编译器为g++ 4.7.2。可以利用编译器特性。

#include <iostream>  
void fn1(int a,int b=10);  
  
void fn1(int a,int b)  
{  
    std::cout<<"a="<<a<<" b="<<b<<std::endl;  
}  
  
int main(void)  
{  
    fn1(1);  
    fn1(1,10);  
    return 0;  
}
用户头像 提问 2012年 12月1日 @ Elise 上等兵 (273 威望)
分享到:

你的回答

隐私保护: 您的邮箱仅用于发送系统通知。
请输入验证码:
    图片验证码看不清?
登录注册后不会被要求输入验证码。

提一个问题:

相关问题

0 投票
1 回复 40 阅读
用户头像 提问 2012年 12月1日 @ Irelia 上等兵 (292 威望)
0 投票
1 回复 26 阅读
+1 投票
1 回复 42 阅读
用户头像 提问 2012年 12月1日 @ Apple 上等兵 (542 威望)
0 投票
1 回复 45 阅读
0 投票
1 回复 48 阅读
用户头像 提问 2012年 12月1日 @ Aries 上等兵 (238 威望)

欢迎来到随意问技术百科, 这是一个面向专业开发者的IT问答网站,提供途径助开发者查找IT技术方案,解决程序bug和网站运维难题等。
温馨提示:本网站禁止用户发布与IT技术无关的、粗浅的、毫无意义的或者违法国家法规的等不合理内容,谢谢支持。

欢迎访问随意问技术百科,为了给您提供更好的服务,请及时反馈您的意见。
...