标签: default

构造函数中的默认模板参数

所以我有这段代码,为了方便,我希望它的构造函数的默认参数是 int 类型和 0。(我的项目类中有更多参数,其中一个是可选的,我不想要两次编写构造函数,因为它很大)

class mama{
    public:
    template<typename x> mama(x i=int(0)){}
};

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

这不起作用,因为它说它找不到构造函数,所以还有另一种方法可以做到这一点吗?

error: no matching function for call to ‘mama::mama()'
note: candidates are: mama::mama(const mama&)
Run Code Online (Sandbox Code Playgroud)

c++ parameters templates constructor default

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

如何获取对象属性的默认值?

一些代码:

foreach (System.Reflection.PropertyInfo pi in myObject.GetType().GetProperties())
{
    if (pi.CanWrite)
    {
        object value = pi.GetValue(Properties, null);

        // if (value is not default)
        // {
        X.addAttribute(pi.Name, value);
        // }
    }
}
Run Code Online (Sandbox Code Playgroud)

我想做的是,如果属性处于其 DefaultValue,则不调用“X.addAttribute...”行。我假设有某种方法可以获取属性的 DefaultValue,以便我可以进行比较?

出于我的目的,我试图获取由 DefaultValueAttribute 定义的“默认”值。

任何帮助表示赞赏,干杯。

c# default propertyinfo

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

如何在c#中为datagridview列单元格设置默认值

如何在 c# 中为 datagridview 列单元格设置默认值,而有些列填充数据库值,有些列填充默认值,例如这样..
例如,从数据库值填充的第 1 列、第 2 列、第 3 列和其余列第 4 列单元格在上午 9 点填充,第 5 列在下午 6 点填充

private void dataGridView1_DefaultValuesNeeded(object sender, 
                                               DataGridViewRowEventArgs e)
{
    // This is not working as I explain below
    e.Row.Cells["in_time"].Value = "9 AM";
    e.Row.Cells["Out_time"].Value = "6 PM";
} 
Run Code Online (Sandbox Code Playgroud)

我使用此代码,但值位于行的末尾,列是 datagridview 的“In_Tim”列,并且在单击特定单元格之前,这些值是不可见的。
如何在所有列单元格中填充默认值?

c# sql default datagridview

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

Java 不允许使用最终默认方法.. 但 Kotlin 允许吗?

如果您尝试在接口上创建内联函数,您将面临错误: 'inline' modifier is not allowed on virtual members. Only private or final members can be inlined

IDEA 中的错误

我知道这是因为该函数是虚拟的,因为它可以被覆盖。

如果我们能够声明“关闭”函数,这些函数就不会是虚拟的,因此能够被内联,这非常有用!

使用“private”为我们提供了一个非虚拟的、“封闭的”功能,但是世界其他地方无法使用它!

那么..有没有办法为抽象类型定义“封闭的”非虚拟内联函数?

ps 我打算自己回答这个问题,但请随意分享您自己的答案!

default interface function kotlin

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

如何设置枚举类型变量的默认值?

如何设置枚举类型提示的默认值,我尝试将其设置为 0 或 1,或者什么都不设置,但出现相同的错误?

enum tip {
pop,
rap,
rock
};

class Pesna{
private:
char *ime;
int vremetraenje;
tip tip1;

public:
//constructor
Pesna(char *i = "NULL", int min = 0, tip t){
    ime = new char[strlen(i) + 1];
    strcpy(ime, i);
    vremetraenje = min;
    tip1 = t;
}

};
Run Code Online (Sandbox Code Playgroud)

c++ enums default

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

尝试解析失败后保留默认值

我有这个代码:

string myStr = "sdfs";
double myDouble = 3;
double.TryParse(myStr, out myDouble);
Run Code Online (Sandbox Code Playgroud)

因此解析将失败,并且我分配给“myDouble”的值也将更改为 0。

即使解析失败,有没有一种很好的方法来保持这 3 个默认值?没有像这样的 if 子句

if(!double.TryParse(myStr, out myDouble))
{
    myDouble = 3;
}
Run Code Online (Sandbox Code Playgroud)

.net c# default

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

c#构造函数默认参数的正确方法

所以我需要了解哪种方式是正确/最好的方式?

第一种方式:

class Customer
{
    string firstName;
    string lastName;

    public Customer(string firstName="non", string lastName="applicable")
    {
        this.firstName = firstName;
        this.lastName = lastName;
    }
}
Run Code Online (Sandbox Code Playgroud)

第二种方式:

class Customer
{
    string firstName;
    string lastName;

    public Customer()
    : this("non","applicable")
    { }

    public Customer(string firstName, string lastName)
    {
        this.firstName = firstName;
        this.lastName = lastName;
    }
}
Run Code Online (Sandbox Code Playgroud)

如果我正在创建一个方法 printFullName(),它在两种情况下都适用。那么选择哪一个呢?第一个对我来说似乎更容易。

c# parameters constructor default

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

负属性默认值似乎不起作用

当我安装组件时,我查看了对象检查器,其值为StoppingCount0!我需要值为-1。在我的代码中,任何高于 -1 的值都会在该数字处停止 for 循环过程。

default对负数不起作用?

unit myUnit;

interface

uses
  System.SysUtils, System.Classes;

type
  TmyComponent = class(TComponent)
  private
    { Private declarations }
    FStoppingCount: integer;

  protected
    { Protected declarations }
    procedure ProcessIT();

  public
    { Public declarations }

  published
    { Published declarations }

    property StoppingCount: integer read FStoppingCount write FStoppingCount default -1;
  end;

procedure Register;

implementation

procedure Register;
begin
  RegisterComponents('myComponent', [TmyComponent]);
end;

procedure TmyComponent.ProcessIT();
begin
  for I := 0 to 1000 do
  begin
    DoSomething();
    if FStoppingCount = I then break; …
Run Code Online (Sandbox Code Playgroud)

delphi default numbers properties

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

默认情况下为所有 v-text-field 概述的 Vuetify 集

是否有简单的方法可以更改输入项目中所有“v-text-field”的“概述”道具的默认值?

https://vuetifyjs.com/en/components/text-fields

在此处输入图片说明

javascript settings default vue.js vuetify.js

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

如何删除 C++ 中类的所有隐式(默认)方法?

C++编译器在一定条件下为类添加了隐式默认构造函数、复制构造函数、析构函数、转换运算符、赋值运算符等以及其他隐式方法。

如何以最短的方式禁用/删除所有可能的隐式方法?

我不希望我的类不可复制,我只想禁用这些默认方法,以便编译器抛出编译错误,然后我自己实现它们。我只是想过度控制,这样编译器就不会对我的班级做任何无声的工作。

例如我可以做下一件事情(这只是一个虚拟示例,在现实生活中我可以有任何复杂的类):

class C {
private:
    C() = delete;
    C(C const & other) = delete;
    C & operator = (C const & other) = delete;
};
Run Code Online (Sandbox Code Playgroud)

但这是很长的路要走,我也可以忘记删除一些方法签名,我需要删除所有方法。以便我自己从头开始重新实现所有方法。

而且我需要查看其他代码需要/使用且我尚未实现的所有方法的错误,而不是编译器为我默默地实现这些方法。

此外,如果我像上面的示例那样删除默认方法,我如何确定没有其他静默创建的方法?在线是否有 100% 由编译器静默创建的所有标准方法的列表?

c++ methods default class

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