委托上的可选参数无法正常工作
为什么这段代码不能编译?
delegate int xxx(bool x = true);
xxx test = f;
int f()
{
return 4;
}
Why this piece of code does not compile?
delegate int xxx(bool x = true);
xxx test = f;
int f()
{
return 4;
}
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
可选参数用于调用端,而不是用于有效的单方法接口实现。例如,这个应该编译:
Optional parameters are for use on the calling side - not on what is effectively like a single-method-interface implementation. So for example, this should compile:
test(false)
会发生什么?它会破坏堆栈,因为签名必须匹配。What will happen
test(false)
? It will corrupt the stack, because signatures must match.试试这个方法:
Try this way: