问题标签 [default-constructor]

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 投票
8 回答
1688 浏览

c++ - 仅对 C++ 中的空私有构造函数使用声明是否正确?

例如这是正确的:

或者您应该提供定义:

? 感谢您提供当前的答案。让我们扩展这个问题 - 编译器是否会在其中一个示例中生成更好的代码?我可以想象为 ctor 提供正文会强制编译器在编译单元中包含一些(空)代码?自动生成的代码也是如此吗?

0 投票
3 回答
3155 浏览

c++ - 使用初始化列表重载默认构造

我需要知道如何让某些东西发挥作用。我有一个带有构造函数的类和一些在初始化列表中初始化的常量。我想要的是能够创建一个不同的构造函数,它需要一些额外的参数,但仍然使用初始化列表。像这样:

完全可怕的例子,但它得到了重点。问题是,我怎样才能让它工作?

0 投票
4 回答
8281 浏览

java - Java:实例化一个没有默认构造函数的泛型类

我正在尝试这样做:

实例化泛型本身就已经够难了,但更难的是T这里没有默认构造函数,它的构造函数中只有一个int参数。

如何才能做到这一点?


我也在这里问了一个后续问题。如果您也能回答这个问题,我将不胜感激。

这个问题是相关的,但仅在假定类具有默认构造函数的情况下才相关。

0 投票
1 回答
788 浏览

c# - 使用默认构造函数创建 InterfaceProxyWithoutTarget

使用 Castle.DynamicProxy,我“只是”想获得一个 Interface-Proxy-Without-Target,但是......使用默认构造函数,所以我能够重用代理类型。

更新

我的意思是做类似...

...除了生成的类型不实现默认构造函数。

我的实际上下文与 WCF 自定义有关,但这是另一回事。

0 投票
4 回答
207 浏览

c++ - 如何正确避免 CS2512

请帮我解决以下问题:

我有以下课程:

实现是显而易见的。我打算使用 Init 方法初始化 CombinationRule 以最小化代码重复。唉,如果我不在每个构造函数中使用“成员初始化列表”,编译器会抱怨“错误 C2512:'ChemicalElement':没有适当的默认构造函数可用”。有没有一种优雅的方法来解决这个错误,而不是使用默认构造函数或成员初始化列表?顺便说一句:如果类定义中有任何其他问题,请也添加它。由于我正在重新访问 C++,因此我想了解它们。

0 投票
8 回答
5583 浏览

java - 当没有其他构造函数时,是否有理由显式编写默认构造函数?

我最近在一个类中看到了这个构造函数:

没有其他构造函数。

是否有一个原因?Java 会自动创建一个默认构造函数,那么为什么要显式声明一个呢?或者这被认为是一种好的做法,就像在单语句 if 语句中使用大括号一样——以防以后添加其他构造函数并且你忘记了你没有默认值......?

0 投票
4 回答
448 浏览

c# - 为什么我的数组的默认构造函数没有在这里被调用?

为什么我的默认构造函数没有在这里被调用?我究竟做错了什么?

0 投票
1 回答
948 浏览

c++ - Why does a class used as a value in a STL map need a default constructor in ...?

Below is the class used as the value in a map:

Inside main():

The statement causing the error is:

If I add a default constructor, the error does not appear. However, I don't understand why the need. Can anyone explain? If I use insert(), the problem does not appear.

By the way, I'm using Visual C++ 2008 to compile.

0 投票
1 回答
2124 浏览

c++ - 编译器抱怨构造函数上的 BOOST_CHECK_THROW

以下不编译:

Bar 的实现无关紧要。编译器抱怨说 Foo 没有适当的默认构造函数(VC++ 2005)。如果我添加一个默认构造函数,它会起作用,并且实际上会被调用。为什么这个语句需要一个默认构造函数?

0 投票
4 回答
18871 浏览

c++ - 为什么 std::vector 的元素不需要默认构造函数?

以及如何编写自己的数组类以使其元素不需要默认构造函数?现在,当我执行 new [] 来分配空间时,我需要一个默认构造函数。

std::vector 没有。

他们是如何做到这一点的?