overloading 相关问题

术语重载和重载可以参考: - 构造函数和方法重载,一种多态,其中基于传递的参数的数据类型调用具有相同名称的不同函数 - 运算符重载,一种函数或方法重载的形式,其中被重载的动作是一个运算符,例如+或 -

“新”方法名是否被保留?

来自这个有用的问题/答案:PowerShell 中的构造函数链 - 调用同一类中的其他构造函数。 为了与调用构造函数的方式保持一致(例如 [car]::new())和

回答 1 投票 0

重载和易失性

这预计将如何发挥作用? 结构体S{}; void foo(易失性S&); 无效 foo(S); int main() { 挥发性Sv; foo(v); } 编译器对此意见不一:MSVC 接受代码,而 Clang 和 GCC

回答 1 投票 0

显示方法未在主JAVA中编译

我不知道如何从形状类调用显示方法到Main方法。这是一个作业,我们不应该改变 Main 中写的内容,所以问题就来了......

回答 1 投票 0

在解析函数名称时,如何使 const char 数组函数优先于 const char* 函数?

字符串文字在传递给函数时将首先被推导为 const char (&)[] 数组,然后如果函数不合适,它将衰减为 const char*。所以我认为

回答 1 投票 0

为什么在传递响应式 prop 时出现“没有与此调用匹配的重载”错误?

在我的主应用程序中我定义了 从“luxon”导入{DateTime} const now = ref(DateTime.now()) const maxCityNameSize = ref(0) 然后将变量传递给组件: 在我的主应用程序中我定义了 import { DateTime } from "luxon" const now = ref(DateTime.now()) const maxCityNameSize = ref(0) 然后将变量传递给组件: <time-bar :now="now" :maxCityNameSize="maxCityNameSize"></time-bar> 在该组件中,它们被定义为 const props = defineProps({ now: { type: DateTime }, maxCityNameSize: { type: Number }, }) 我的代码按预期工作,但我得到了上面的 props TypeScript 错误,我无法理解: No overload matches this call. Overload 1 of 3, '(props: string[]): { readonly [x: string]: any; }', gave the following error. Overload 2 of 3, '(props: ComponentObjectPropsOptions<Data>): { readonly [x: string]: Prop<unknown, unknown> | null | undefined; }', gave the following error.ts(2769) runtime-core.d.ts(322, 53): The expected type comes from property 'now' which is declared here on type 'ComponentObjectPropsOptions<Data>' 我从未见过该错误(尽管使用了很多道具) - 这意味着什么? 为了完整起见,我添加了另一个作为 prop 传递的反应变量,它不会触发错误。 在寻找原因时,普遍指出错误是由于函数的参数数量错误(不适用)或类型不匹配(我也没有看到类型不匹配)。 我进行了双阶段 props 声明,linter 很满意(代码也很满意): import { DateTime } from 'luxon'; const props = defineProps(['now', 'maxCityNameSize']) const now = ref<DateTime>(props.now) const maxCityNameSize = ref<number>(props.maxCityNameSize) 您应该像这样在 prop setup 中定义类型: const props = defineProps<{ now: DateTime, maxCityNameSize: Number, }>(); 在这里您可以找到更多信息 https://vuejs.org/guide/typescript/composition-api#complex-prop-types

回答 2 投票 0

Typescript 类不允许静态异步方法重载

我正在尝试重载登录函数,以便当我向其传递参数时,返回类型会被推断为 LoginResponse ,而当我不传递任何参数时,它会被推断为 void |错误...

回答 1 投票 0

是否可以让继承函数调用派生重载函数?

假设我有3节课: 例子.h 类对象{ 民众: 目的(); 无效 pass_self_to_external_class(); }; 类 ObjectWithExtraMember :公共对象 { 民众: 带有额外成员的对象...

回答 1 投票 0

您可以根据传递到构造函数的参数输入提示重载方法的返回类型吗?

假设我有一堂这样的课: 我的班级: def __init__ (self, param1: Tuple[str,...], param2: bool) -> 无: self.member1 = param1 self.member2 = param2 自我。

回答 2 投票 0

函数重载取决于编译时对象状态

考虑有一个简单的类,根据其状态将整数写入 cout: #包括 类 NotAWriter{ 民众: NotAWriter& 运算符<<(const int& arg) { ...

回答 1 投票 0

缩小范围后结果的 TypeScript 类型推断

我试图让 TypeScript 根据调用函数的上下文正确推断函数的返回类型(结果)。 TS 正确地将结果推断为“isA” | 'isB' 因为 inp...

回答 1 投票 0

主JAVA中显示方法未连接

我不知道如何从形状类调用显示方法到Main方法。这是一个作业,我们不应该改变 Main 中写的内容,所以问题就来了......

回答 1 投票 0

从构造函数中的初始化列表推断成员大小(CWG 1591)什么是正确的方法?

我有一个类 Vec,其工作方式如下,我需要知道一种编写构造函数和/或推导指南的方法,以便用大括号括起来的初始化程序列表将 C 推导为 std::array 我有一个类 Vec<C>,其工作方式如下,我需要知道一种编写构造函数和/或推导指南 的方法,以便用大括号括起来的初始值设定项列表将 C 推导为 std::array<T,N>。 它当然可以与 std::vector<T> 一起使用,因为不需要知道尺寸。 #include <cassert> #include <iostream> #include <array> #include <vector> #include <concepts> #include <type_traits> template<typename T> concept has_resize = requires(T t) { {t.resize(0)}; }; template<typename C> class Vec { C elems; public: template<typename IndexType> requires std::integral<IndexType> && std::is_unsigned_v<IndexType> auto operator[](IndexType i) const { return elems[i]; } auto size() const { return elems.size(); } template<typename T> Vec(std::initializer_list<T> init)//MEMBER INITIALIZER LIST? { // WHAT CODE GOES HERE? } Vec(auto init) { if constexpr (has_resize<decltype(elems)>) elems.resize(init.size()); for (decltype(init.size()) i = 0; i<init.size() ; i++) elems[i] = init[i]; } }; template<typename C> Vec(C) -> Vec<C>; //WHAT'S THE CORRECT DEDUCTION GUIDE? int main() { Vec v0({1, 4, 7}); Vec v1(std::array<int,3>{2, 5, 8}); Vec v2(std::vector<double>{3, 6, 9}); } 编辑1:我们的想法不是修改调用Vec v0({1, 4, 7});或Vec v0{1, 4, 7};当然。 编辑2:template<typename T> Vec(const std::initializer_list<T>& vec) -> Vec<std::array<T, vec.size()>>;不起作用,如下所示:https://godbolt.org/z/b5vno6ff8 要从大括号括起来的列表中推断长度,您需要使用对数组的引用。语法有点奇怪: template<class T, std::size_t N> Vec(T (&&init)[N]) -> Vec<std::array<T, N>>;

回答 1 投票 0

如何使用Delphi重载DLL中的导出函数?

我使用 Delphi 编写了一个带有一堆不同过程和函数的 DLL。我想重载此 DLL 中的一个函数,但一旦重载,我就会收到一系列错误...

回答 1 投票 0

是否有一个处理 T | 的打字稿泛型T[]| “*”

我对打字稿中的泛型很陌生,这很令人困惑 有没有办法让展开运算符...在下面的代码片段中工作 问题 [ key: U, ...rest: Reg[U] ] 行没有按我的预期工作

回答 1 投票 0

如何在 ts 中使用函数重载来推断参数类型

我想实现一个可以通过不同参数推断返回类型的函数。 直接调用时可以正常推断类型,但是使用函数返回参数时,...

回答 1 投票 0

有没有办法为指针和数组提供单独的模板函数重载?

首先,我想特别强调C++20标签,因为我相信使用概念和require语句来解决这个问题要容易得多。 其次,当我在这里说数组时,我的意思是......

回答 1 投票 0

java中可以使用两个同名同参数的方法吗

//利用方法重载的概念 公开课练习10 { //计算矩形面积的方法 公共静态双计算Area(双倍长度,双倍宽度){ ...

回答 2 投票 0

当派生类仅重写所有方法的子集时,为什么会出现 C++ 编译错误,所有方法都具有相同的名称但不同的签名(重载)

简单地说,您有一个接口基类 A,它提供了一个多态 method(),一个派生类 B,它实现了其中一些 method() 的细节。然后一些外部函数调用这些,co...

回答 1 投票 0

仅在 const 限定符上重载方法

在大多数情况下,如果我们重载常量成员函数,则两个重载具有不同的返回类型或参数类型。在大多数情况下,返回类型是不同的。该函数通常返回...

回答 1 投票 0

被多个类继承的Python子类

目前我有一个类定义,如下所示: cls_A 类: def __init__(自身): 自我.__情节__(自我) # 一些属性 # 一些方法 def __plot__(自我,

回答 1 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.