标签: default-parameters

为什么C++ CLI在托管类型上没有默认参数?

以下行有错误Default argument is not allowed.

public ref class SPlayerObj{
private:

    void k(int s = 0){ //ERROR
    }
}
Run Code Online (Sandbox Code Playgroud)

为什么C++在托管类型上没有默认参数?
我想知道是否有办法解决这个问题.

c++-cli visual-c++ default-parameters

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

为什么C#不允许typeof作为默认参数?

class MyClass
{
    public void MyMethod(Type targetType = typeof(MyClass))
    {
    }
}
Run Code Online (Sandbox Code Playgroud)

不是typeof(MyClass)编译时常量?

c# typeof default-parameters

12
推荐指数
2
解决办法
1724
查看次数

使用默认参数和泛型的方法解决问题

使用.NET 4,我很困惑编译器无法解决下面示例中的第一个方法调用.

using System;

namespace MethodResolutionTest
{
    class Program
    {
        static void Main(string[] args)
        {
            NonGeneric foo = null;

            // ambiguous
            foo.Ext1(x => new NonGeneric());

            // resolves to first Ext1
            foo.Ext1(x => new NonGeneric(), 1);


            // resolves to first Ext2
            foo.Ext2(x => new NonGeneric());

            // resolves to first Ext2
            foo.Ext2(x => new NonGeneric(), 1);

            // resolves to second Ext2
            foo.Ext2(x => "foo");

            // resolves to second Ext2
            foo.Ext2(x => "foo", 1);


            // resolves to first Ext3
            foo.Ext3(x => new NonGeneric()); …
Run Code Online (Sandbox Code Playgroud)

.net c# generics overload-resolution default-parameters

12
推荐指数
1
解决办法
268
查看次数

编译器错误"不允许使用默认参数说明符"

以下是我的代码.

public class PItem
{
    public String content;
    public int count;
    public int fee;
    public int amount;
    public string description;

    // Default values
    public PItem(String _content = "", int _count = 0, int _fee = 0, string _description = "", int _amount = 0)
    {
        content = _content;
        count = _count < 0 ? 0 : _count;
        fee = _fee;
        description = _description;
        amount = _amount < 0 ? 0 : _amount;
    }
}
Run Code Online (Sandbox Code Playgroud)

这是在课堂上.当我尝试运行程序时,它会出现此错误:

不允许使用默认参数说明符

我该如何解决这个错误?

c# compiler-errors .net-3.5 default-parameters

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

一个未命名的函数参数可以有一个默认值吗?

以下代码在C++中是否合法?

void f(void* = 0)
{}

int main()
{
    f();
}
Run Code Online (Sandbox Code Playgroud)

C++标准的哪一页说明这种用法是合法的?

c++ function default-parameters function-signature c++11

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

为未命名的默认参数传递通用结构会导致垃圾属性

我在前一段时间创建的类中看到了一些奇怪的行为,似乎结构的属性在传递(复制)到方法后立即发生了变化.

我把它归结为一个可以在游乐场中运行的简单测试用例:

struct StructToPass<T> {
    let x: T
}

class MyClass<T> {
    func createAndPassStructWithValue(value: T) {
        let structToPass = StructToPass(x: value)
        println("Before passing to method: \(structToPass.x)")
        passStruct(structToPass)
    }

    func passStruct(_ theStruct: StructToPass<T>? = nil) {
        println("Inside method: \(theStruct!.x)")
    }
}

let myClass = MyClass<Int>()
myClass.createAndPassStructWithValue(42)
Run Code Online (Sandbox Code Playgroud)

查看相关的打印语句,它表明struct的x属性已更改:

// Before passing to method: 42
// Inside method: 140734543799888
Run Code Online (Sandbox Code Playgroud)


在类外创建结构并passStruct(_:)直接调用会导致操场崩溃,就像写passStruct(_:)一个函数一样:

// Causes playground to crash:
let aStruct = StructToPass(x: 42)
myClass.passStruct(aStruct)

// Also causes playground to crash: …
Run Code Online (Sandbox Code Playgroud)

generics parameters struct default-parameters swift

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

`this`如何在默认参数中工作?

所以...ES6¹(几个小时前恰好标准化)为类似于PHP,Python等的函数带来了默认参数.我可以这样做:

function foo (bar = 'dum') {
    return bar;
}

foo(1); // 1
foo(); // 'dum'
foo(undefined); // 'dum'
Run Code Online (Sandbox Code Playgroud)

MDN表示在调用时评估参数的默认值.这意味着每次调用该函数时,'dum'都会再次计算表达式(除非实现执行一些我们不关心的奇怪的优化).

我的问题是,如何this发挥作用?

let x = {
  foo (bar = this.foo) {
    return bar;
  }
}

let y = {
  z: x.foo
}

x.foo() === y.z(); // what?
Run Code Online (Sandbox Code Playgroud)

babel转换器目前评估它为false,但我不明白.如果他们真的在通话时评估,那么:

let x = 'x from global';

function bar (thing = x) {
  return thing;
}

function foo () {
  let x = 'x from foo'; …
Run Code Online (Sandbox Code Playgroud)

javascript default-parameters ecmascript-6

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

javaScript函数-为什么我的默认参数失败?

我的Javascript函数导致控制台返回我:

TypeError:样式为null

以下是代码段:

let style = {
  one: 1,
  two: 2,
  three: 3
}

function styling(style = style, ...ruleSetStock) {

  return ruleSetStock.map(ruleSet => {
    console.log(ruleSet)
    return style[ruleSet]
  })
}

console.log(styling(null, "one", "two", "three"))
Run Code Online (Sandbox Code Playgroud)

我不明白为什么。在我看来,一切都很好,

任何提示都会很棒,谢谢。

javascript function default-parameters ecmascript-6

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

默认参数和可变参数函数

有没有办法在可变参数函数中指定默认参数?(也适用于模板)

c++ variadic-functions default-parameters

10
推荐指数
1
解决办法
2680
查看次数

PhpStorm - JavaScript函数参数IDE错误

我正在尝试构建一个JavaScript使用默认参数的可重用函数.然而,IDE警告我,我做错了什么.

在此输入图像描述

代码是这样的:

function standardAjaxRequest(process_script_path, redirect = false) {

    var loading = $(".loading");
    var response_message = $(".response_message");

    // runs the ajax to add the entry submitted
    form.on("submit", function(event) {
        event.preventDefault();

        removeNoticeError();

        var data = form.serialize();

        $.ajax({
            url:      process_script_path,
            type:     "POST",
            dataType: "json",
            data:     data,
            cache:    false,
            success: function(response) {
                if(response.status === false)
                {
                    response_message.addClass("error").text(response.message).fadeIn(1);
                }
                else
                {
                    response_message.addClass("notice").text(response.message).fadeIn(1);
                    if(redirect)
                    {
                        setTimeout(function () {
                            window.location.reload();
                        }, 1000);
                    }
                    else
                    {
                        response_content.after(response.content);
                    }

                }
            },
            error: function() {
                response_message.addClass("error").text("There …
Run Code Online (Sandbox Code Playgroud)

javascript parameters function default-parameters

10
推荐指数
1
解决办法
1568
查看次数