问题标签 [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.
scala - 使用参数默认值进行类型擦除
以下不编译:
编译器说:
如果将dof :Int = 0更改为dof: Int,则示例编译并按预期工作。
无论代码是否有效,默认参数值的存在与否都会改变,这似乎很难看。
为什么这真的有意义的解释是什么?
c++ - 构造函数默认参数
构造函数:
创建对象:
上面的代码显示错误:重载 'A()' 的调用不明确
c++ - 模板函数默认参数和类型推断
C++
这些模板函数都没有
允许任何具有以下零参数调用的编译:
foo
尽管使用任何值调用都有效(例如foo(2)
)。
nullptr
有一个特定的类型,即std::nullptr_t
,所以我认为默认参数在#1 中不需要额外的类型限定。默认参数的类型在#2 和#3 中明确提供,所以我认为那里没有任何类型歧义。
这里有什么问题?是否有适当的方法来使用模板函数执行默认参数?
python - 为什么在这种情况下局部变量会被“记住”?
这在第一次调用时可以正常工作,但是局部变量li
不会被遗忘,新值只是附加到旧值 - 而不是字符串,正如函数名称所暗示的那样,被拆分到它自己的列表中。是的,如果我在没有默认参数的情况下定义我的函数,而是在稍后的调用中说它是空列表,一切都很好,但我很好奇上面这段代码到底发生了什么。
python - python函数声明中默认参数的行为?
我从这篇文章的答案中得到了这个问题。
考虑这段代码
输出是:
正如我可以推断的那样,字典有一个“全局”引用。
作为默认参数传递给函数的内容在命名空间中的某处是持久的。
它在再次调用该函数时共享。但是我怎么知道当前的情况dict
。我可以有一个dict
函数的外部并将其传递dict
给函数以了解它的内容dict
。
但我的问题是默认参数的dict
存在位置(在命名空间中)以及如何访问它。这是什么时候dict
创建的?第一次调用函数或def
执行语句时?
顺便说一句,打印locals()
显示 dict 是本地函数
谢谢
c++ - MSVC12 中不允许默认参数中的模板类实例化?
我刚刚在我们的项目中提取了以下问题。下面的代码用 g++ 编译得很好
但是,Visual Studio 编译器(VC12,但我也认为所有其他编译器)不理解在foo的 c'tor的默认参数中,调用bar的 c'tor,它将向量的实例作为参数. 这会导致在此表达式之后声明的每个类/结构出现错误:
我不想讨论 c'tor 的软件设计,但这是编译器问题还是标准 C++ 中不允许,而 g++ 对此并不严格?
首先,我认为默认参数中的模板实例化可能不允许或默认参数中嵌套 c'tors。但是,如果我使用向量的另一个 c'tor:
它用 MSVC 编译。我只是不明白为什么上版本不应该编译?对此有什么想法吗?
c# - 覆盖 C# 中的默认参数
复制真的很简单,输出很奇怪;
预期输出为“bbb bbb” 实际输出为“aaa bbb”
有没有人对这种行为有任何 MSDN 解释?我找不到任何东西。
c++ - C ++中默认参数类型的限制是什么
我可以知道 Type2 作为接受默认值的参数有什么限制吗?我认为 type2 的 value2 应该在编译时确定。例如,一个整数。这个对吗?
python - 我如何区分python中的默认参数方法
最近,我在学习python。我在读这本书时遇到了一个问题,名为The_Python_Tutorial帮帮我,请。这是我的问题:
表明
所以我换了另一种方式
它只是显示
它是怎么发生的?太奇怪了。我只想知道为什么这两种方法之间存在差异,有人可以解释它。谢谢。
python - 在python的函数中使用可变参数传递默认参数
当我尝试以下操作时,我function definition
本身就出错了。
我正在尝试为参数提供默认值pad
。
但是后来,我尝试了这个并且它有效(出于错误的原因):
它不是打印应该是tuple
的。seq
([1,2,3],[4,5,6])