问题标签 [default-parameters]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
304 浏览

c# - Why doesn't the C# compiler get confused about methods that have default arguments?

Why doesn't the C# compiler get confused about methods that have default arguments?

In the below code SayHello() may refer to:

  • SayHello()
  • SayHello(string arg1 = null)
  • SayHello(string arg1 = null, string arg2 = null)
  • SayHello(string arg1 = null, string arg2 = null, string arg3 = null)

But this code compiles successfully without any ambiguous errors.

0 投票
4 回答
475 浏览

c++ - 带默认参数的函数调用

我写了一篇关于 C++ 编程的考试。有一个问题我和我的教授不同意。问题是,以下功能是否有效:

我说这行不通,但我的教授说它肯定会起作用,因为函数声明中的默认参数。我用 MSVC 试过了,没用。那是编译器特定的吗?我怎样才能说服我的教授它在任何编译器中都不起作用,以便在考试中提高我的分数?

0 投票
2 回答
131 浏览

python - Python中的默认参数

我的类层次结构如下:

GroupContextSummary在单元测试中多次使用没有第二个参数的类。

问题是数据库仍然保留以前的运行值。为了防止这种情况,我不得不使用

或者我不得不将 init 方法重新定义为

可能有什么问题?

0 投票
4 回答
2087 浏览

c# - 不能使用对象作为一种方法的默认参数

我的代码看起来像这样

编译器说“obj2”的默认参数值必须是编译时常量。我能做些什么 ?someDefaultValue 就string.Empty我而言。

0 投票
2 回答
1516 浏览

c# - 具有默认参数的索引器

我知道这不是现实世界的问题,但我想知道:您可以访问具有所有默认参数的索引器而无需反射/技巧吗?

例如如何调用:

没有明确提供参数?

我会考虑类似的东西myobject[],但这显然是不正确的。

为什么编译器不警告我没有任何意义?

0 投票
1 回答
792 浏览

php - 在 PHP 中使用超全局作为默认函数参数

我可以设想多种方法来实现以下功能;但是我希望有一个超级优雅的解决方案。我可以使用 PHP 超全局变量作为用户定义函数参数的默认值吗?

例子:

上面的代码吐出一个错误。就像我说的,我知道我可以使用以下代码实现相同的目标(但上面的代码更有吸引力):

谢谢您的帮助!

0 投票
1 回答
567 浏览

python - 在 python 中使用 *args 和默认参数

我有一个同时使用默认参数和 *args 的函数:

这似乎工作正常。但是,当我用 flake8 检查它时,它返回:

我坚持遵循正确的做法并明确我的检查。我做错了吗?是不同的方法标准吗?

0 投票
5 回答
2459 浏览

scala - 为什么不能指定 Scala 可变参数的默认值?

我写了一个类,它接受一个可变参数作为参数,并指定它的默认值,以便用户经常可以在不指定参数的情况下实例化它:

但是,编译器和 REPL 给了我以下错误:

作为一种解决方法,我尝试了以下方法,但它也不起作用:(显然它非常模棱两可。)

我想知道为什么不允许使用 varargs 参数的默认值。这里的推理或技术原因是什么?(我的猜测是,指定一个空的可变参数需要一些特殊的语法或习惯用法,但我不确定这是否是一个足够的理由。)

0 投票
3 回答
14282 浏览

c++ - 默认模板参数偏特化

请向我解释为什么以下代码符合并完美运行。我很困扰。

不应该落入模板类Base的泛化形式吗?

0 投票
2 回答
1051 浏览

c# - 用户定义的结构转换为函数的默认参数

我想实现一个包装器结构MyInt(此处简化)以接受int默认值(我知道这很奇怪和不自然,我只需要它来遵守其他语言格式),但是当我像上面那样编码时遇到错误,错误在int MyFunc(MyInt i = 0)VS2012 说:

'int' 类型的值不能用作默认参数,因为没有标准转换为 MyInt 类型

据我所知, int 和 double 在 C# 中也定义为 struct。所以我尝试了以下方法:

它通过了!因此我认为默认参数中允许类型转换。

所以我的问题是:

  1. 为什么不能使用 MyInt 的隐式类型转换作为默认参数?
  2. VS 错误消息中的标准转换是什么意思,它与 MyInt 中定义的隐式转换不同吗?