标签: default-value

"错误:功能参数太少"

我有一个名为opencv2.0的C程序:

cvSaveImage( out_img_name, img);  
Run Code Online (Sandbox Code Playgroud)

编译器gcc报告说

函数cvSaveImage的参数太少

highgui.h中的cvSaveImage原型是

CVAPI(int)cvSaveImage(const char*filename,const CvArr*image,const int*params CV_DEFAULT(0))

在我改变我的电话后

cvSaveImage( out_img_name, img, 0);  
Run Code Online (Sandbox Code Playgroud)

编译终于成功了.这是否意味着函数参数的默认值仅在C++中支持,但不支持C?

感谢致敬!

c opencv arguments function default-value

11
推荐指数
1
解决办法
3万
查看次数

DependencyProperty默认值

我正在尝试在WPF中使用DependencyProperty.我正在使用:

public static readonly DependencyProperty DisplayModeProperty = DependencyProperty.Register("DisplayMode", typeof (TescoFoodSummary), typeof (Orientation), new UIPropertyMetadata(Orientation.Vertical));
    /// <summary>
    /// Gets or sets the orientation.
    /// </summary>
    /// <value>The orientation.</value>
    public Orientation DisplayMode {
        get { return (Orientation)base.GetValue(DisplayModeProperty); }
        set { base.SetValue(DisplayModeProperty, value); }
    }
Run Code Online (Sandbox Code Playgroud)

当我初始化窗口时,我收到一个错误:默认值类型与属性'DisplayMode'的类型不匹配.但是,如果我保留默认值,则由于未设置DisplayModeProperty而导致窗口加载时,我会得到一个空引用异常.

wpf binding dependency-properties default-value

11
推荐指数
1
解决办法
1万
查看次数

Python范围函数在实际函数之前是如何具有默认参数的?

所以我正在编写一个带有可选列表的函数,并将其扩展到指定的长度.而不是将其写为foo(n,list = None),我想知道如何模拟Python的范围函数的行为,其工作方式如下:

>>> range(10)
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> range(5, 10)
[5, 6, 7, 8, 9]
Run Code Online (Sandbox Code Playgroud)

也就是说,首先使用默认参数.为了参考试图天真地设置它返回一个语法错误:

def foo(x=10, y):
    return x + y
SyntaxError: non-default argument follows default argument
Run Code Online (Sandbox Code Playgroud)

所以我想知道,这是硬编码到范围内吗?或者可以模仿这种行为?

python overloading range default-value

11
推荐指数
4
解决办法
4970
查看次数

attr('defaultValue')使用jQuery 1.6.3返回undefined

我在jQuery中有一个简单的脚本,与jQuery 1.5.2完美配合,你可以在这个jsFiddle中看到.应该发生的是,当您将焦点带到文本字段时,将删除默认值.如果将该字段留空,则将原始默认值放回原位.

http://jsfiddle.net/kHBsD/

但是,相同的确切代码(仅使用jQuery 1.6.3)不起作用.(不工作意味着默认值保留在文本框中,直到您手动删除它为止,如您在此jsFiddle中所见.

http://jsfiddle.net/kHBsD/1/

控制台中没有脚本错误,并且该功能的其他方面也可以运行.您可以hover()在两个jsFiddles中看到该部分正常工作.


汇总版(根本问题)

jQuery的1.6.3正在恢复undefined.attr('defaultValue').

jsFiddle使用jQuery 1.6.3(不工作)

但是,jQuery 1.5.2正在返回期望的值.attr('defaultValue').

jsFiddle使用jQuery 1.5.2(工作)


题:

有谁知道为什么会发生这种情况?(对我来说,它看起来像一个jQuery错误.)

以下仍在工作......

document.getElementById().defaultValue
Run Code Online (Sandbox Code Playgroud)

...但我认为在jQuery可用的情况下必须这样做是非常难看的.

我愿意接受其他建议.

jquery attributes version default-value

11
推荐指数
1
解决办法
2万
查看次数

Scala将命名和默认参数与隐式参数结合使用

考虑以下:

def f(implicit a: String, y: Int = 0) = a + ": " + y
implicit val s = "size"
println(f(y = 2))
Run Code Online (Sandbox Code Playgroud)

最后一个表达式导致以下错误:

not enough arguments for method f: (implicit a: String, implicit y:
Int)java.lang.String. Unspecified value parameter a.
Run Code Online (Sandbox Code Playgroud)

但是,如果为隐式参数a提供默认值,则没有问题:

def f(implicit a: String = "haha!", y: Int = 0) = a + ": " + y
implicit val s = "size"
println(f(y = 2))
Run Code Online (Sandbox Code Playgroud)

但最后一行打印

haha!: 2
Run Code Online (Sandbox Code Playgroud)

虽然我本来期待的

size: 2
Run Code Online (Sandbox Code Playgroud)

因此隐含值's'没有被提取.如果你没有为f提供任何参数而只是调用

println(f)
Run Code Online (Sandbox Code Playgroud)

那么隐含的价值就会被提起来

size: 0
Run Code Online (Sandbox Code Playgroud)

有人能否了解这里发生的事情?

scala default-value named-parameters implicits

11
推荐指数
1
解决办法
1218
查看次数

argparse:如何允许多个值覆盖默认值

这与允许多次指定参数问题中涉及的主题略有关联.

我希望能够多次指定一个选项,如下所示:

 tool --foo 1 --foo 2 --foo 3
Run Code Online (Sandbox Code Playgroud)

还像这样:

 tool a b c
Run Code Online (Sandbox Code Playgroud)

我也想同时支持两者:

 tool a b c --foo 1 --foo2 --foo 3
Run Code Online (Sandbox Code Playgroud)

这适用于:

import argparse
parser = argparse.ArgumentParser()
parser.add_argument('foo', nargs='*', action='append')
parser.add_argument('--foo', nargs='*', dest='foo', action='append')
Run Code Online (Sandbox Code Playgroud)

结果列表可以很容易地展平:

args = parser.parse_args('a b c --foo 1 --foo 2 --foo 3'.split())
args.foo = [el for elements in args.foo for el in elements]
Run Code Online (Sandbox Code Playgroud)

收益率:

>>> args
Namespace(foo=['a', 'b', 'c', '1', '2', '3'])
Run Code Online (Sandbox Code Playgroud)

如果用户指定了一个参数,如何以默认值未使用的方式添加默认值?

如果只添加default=[['spam']]其中一个add_argument()调用,则默认值始终是结果的一部分.一旦用户自己提供参数,我就无法让argparse自行删除它.

我希望有一个 …

python default-value argparse python-3.x

11
推荐指数
1
解决办法
1万
查看次数

如何使用不同的默认值初始化多维数组

我试图用-1初始化整数值的二维数组.当我创建一个新数组时,它会自动填充0.我知道我可以用2进行循环,但我想在构建数组时应该有一些方法可以做到这一点(所以我不需要通过它两次),所以不是0,而是插入提供的值.可能吗?如果不是在阵列的初始构建期间,是否还有其他时间或代码保存方式,或者我是否坚持使用2个循环?

.net c# arrays default-value multidimensional-array

11
推荐指数
2
解决办法
1万
查看次数

ParameterInfo.IsOptional和ParameterInfo.HasDefaultValue之间的区别?

它们听起来都很相似.来自msdn:

ParameterInfo.IsOptional

获取一个值,该值指示此参数是否可选.

此方法取决于可选的元数据标志.编译器可以插入此标志,但编译器没有义务这样做.

此方法使用ParameterAttributes枚举器的Optional标志.

ParameterInfo.HasDefaultValue(.NET 4.5中的新增功能)

获取一个值,该值指示此参数是否具有默认值.

他们不一样吗?我做了快速测试:

public void A(string value)
{

}
public void B(string value, int i = -1)
{

}
Run Code Online (Sandbox Code Playgroud)

我写:

var a = AInfo.GetParameters().Select(p => p.HasDefaultValue).ToArray();
var b = AInfo.GetParameters().Select(p => p.IsOptional).ToArray();

var c = BInfo.GetParameters().Select(p => p.HasDefaultValue).ToArray();
var d = BInfo.GetParameters().Select(p => p.IsOptional).ToArray();

//a equals b; and c equals d
Run Code Online (Sandbox Code Playgroud)

那么它们在哪种情况下有所不同?为什么BCL HasDefaultValue新推出.NET 4.5?

.net reflection default-value optional-parameters parameterinfo

11
推荐指数
1
解决办法
928
查看次数

覆盖实例var的默认值

鉴于上课Obj,

class Obj: NSObject {
    var x = "x"
}
Run Code Online (Sandbox Code Playgroud)

和它的子类,Obj1你如何更改默认值var x

简单地设置一个新值将是最有意义的,但似乎错误...

class Obj1: Obj {
    var x = "y"
}
Run Code Online (Sandbox Code Playgroud)

❗️无法覆盖存储的属性'x'

overriding instance-variables default-value subclassing swift

11
推荐指数
3
解决办法
5242
查看次数

带类的默认模板参数

我刚刚发现了一个关于默认模板参数的奇怪语法

template<class T = class Z>
struct X
  {};
Run Code Online (Sandbox Code Playgroud)

第二个"class"关键字在这种情况下意味着什么?

c++ templates default-value

11
推荐指数
1
解决办法
237
查看次数