问题标签 [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 回答
3152 浏览

.net - 为什么我不能使用 String.Empty 作为默认参数值?

今天我在构造函数中创建了一个默认参数值。

编译器抱怨。

“某物”的默认参数值必须是编译时常量。

我的印象是 String 类上的 Empty 是一个编译时常量。

我是否误解了编译时常量的含义,还是我需要接受更多古怪?

0 投票
3 回答
903 浏览

c++ - 代码执行派生类方法,但从基类方法获取默认参数

有人可以解释为什么下面代码的结果是 "class B::1" 吗?

为什么派生类的虚方法使用基类的默认参数而不是他自己的?对我来说,这很奇怪。提前致谢!

代码:

0 投票
1 回答
137 浏览

c++ - 避免“局部变量作为默认参数”的最佳设计?

我正在编写一个以两个不同的公差值作为参数的近似函数:

如果未设置verticalTolerance,我希望该函数设置verticalTolerance = Horizo​​ntalTolerance。所以,我想完成类似的事情:

我知道这是不可能的,因为不允许局部变量作为默认参数。所以我的问题是,设计这个功能的最佳方式是什么?

我想到的选项是:

  1. 不要使用默认参数并让用户明确设置两个公差。

  2. 将verticalTolerance的默认值设置为负值,如果为负,则重置为horizo​​ntalTolerance:

    /li>

在我看来,第一点不是解决方案而是绕过,第二点不可能是最简单的解决方案。

0 投票
3 回答
2759 浏览

c++ - 默认模板参数:为什么编译器抱怨没有指定模板参数?

我有这个代码:

如果我foo()使用相同的模板“签名”作为模板函数,编译器不会抱怨没有指定模板参数:

那么为什么我需要为具有默认参数的模板类指定参数,而不是为模板函数指定参数呢?我缺少一些微妙之处吗?

原因肯定是模板参数推导失败。但我想知道为什么。

0 投票
7 回答
31859 浏览

eclipse - 让 Eclipse 默认在文本编辑器中打开 .html?

Eclipse Juno 一直在嵌入式 Web 浏览器中打开我的 HTML 文件,而不是在嵌入式语法高亮编辑器中。

我已经安装了:

  • 网页编辑器
  • Eclipse Web 开发人员工具
  • Eclipse 的 PyDev

具体看我的安装应用截图

我需要它来处理 Django 模板 + 任何其他带有 HTML + 普通 HTML + JS 文件的 Python 模板。

我如何找到这个编辑器,并选择它作为默认值?

0 投票
2 回答
956 浏览

scala - 在scala中传递默认参数?

请考虑以下示例

这可行,但请注意,我必须在两个函数中为 b 提供相同的默认值。我的意图实际上是以下

但是当您有更多可选参数和链中的其他函数(例如以相同方式调用 bar 的 baz )时,这变得很麻烦。有没有更简洁的方式在scala中表达这一点?

0 投票
3 回答
196 浏览

c++ - C ++中的默认参数不匹配?

考虑以下代码:

我猜 C++ 没有坏,但谁能解释为什么输出是真的?我正在开发 VS 2010,但我也签入了运行 gcc 的 ideone

0 投票
2 回答
234 浏览

c++ - C++ 创建一个类的实例?

可能重复:
带空括号的默认构造函数
实例化带或不带括号的类?

程序:

输出:

问题:为什么示例 #1 不起作用,而示例 #0 和 #2 可以?

0 投票
1 回答
5172 浏览

c++ - 默认模板参数的“重新定义”

对于以下代码,我对 Visual C++ 2010 有一个奇怪的编译警告:

警告:

我不明白的是AttributeName“重新定义”与定义在同一行......听起来像一个错误

我注意到制作inner非模板类会删除警告。但是,这不是一个选项,因为实际代码比这个测试用例更复杂,需要模板化。

此外,如果警告被视为错误,则此代码将无法编译...

它在 GCC 上编译时没有警告

为什么 msvc 会输出这样的警告并且有解决方法吗?

编辑

以下修改:

似乎消除了警告。

0 投票
2 回答
8209 浏览

c# - C#, default parameter value for an IntPtr

I'd like to use a default parameter value of IntPtr.Zero in a function that takes an IntPtr as an argument. This is not possible as IntPtr.Zero is not a compile time constant.

Is there any way I can do what I want?