问题标签 [method-signature]

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 投票
10 回答
3598 浏览

c++ - 具有不同签名的函数数组

我有这个课程:

是否可以拥有具有这些签名的函数数组:

如果这些函数是非静态成员函数而不是常规函数,是否有任何变化?我不认为这会改变什么。

谢谢!

0 投票
7 回答
10986 浏览

java - 方法签名中的最终关键字

可能重复:
接口方法中的最终参数 - 有什么意义?

在尝试做一些事情时,我遇到了这个页面中描述的问题。

为什么会有这样的功能?我不知道为什么可以通过重写方法将最终参数变为非最终参数。为什么在方法签名中忽略 final 关键字?以及如何强制子类在其方法中使用最终变量?

0 投票
5 回答
3289 浏览

java - 接口如何包含在其签名或返回类型中引用接口的具体实现类型的方法?

假设我正在设计类似以下界面的东西:

但是,需要注意的是,for 的返回类型method1和参数method2与具体实现相匹配,而不仅仅是MyInterface. 也就是说,如果我有MyInterfaceImpl该 implements MyInterface,它需要具有以下内容:

如上所述,method1不会导致任何编译错误,但无法保证返回类型在所有实现中都匹配。当然method2甚至不会编译,因为签名与接口不匹配。

一种候选解决方案是在泛型中使用自引用或递归边界:

这会让我得到我想要的一个例外:其他实现可能会传递错误的泛型类型(没有任何力量T与具体类型相匹配)。所以可能其他人可以实现以下内容:

即使NotMyInterfaceImpl 应该实现MyInterface<NotMyInterfaceImpl>.* 这也可以编译得很好。这让我觉得我需要别的东西。

*请注意,我不认为我试图违反 LSP;我可以接受返回类型/参数是NotMyInterfaceImpl.

所以我不知道有一种干净的方法来做到这一点。这让我相信我可能过于关注接口中的实现细节,但对我来说似乎不是这样。有什么办法可以做我描述的那种事情,或者这是我在一个不属于那里的界面中放入一些东西的某种气味?

0 投票
2 回答
62 浏览

c++ - 用 foo(T) 替换模板函数 foo(T*)

在我的代码中,我有一个函数:

现在在新的实现中,我还传递了一个智能指针(类似于shared_ptr<>. 所以我已将函数的签名更改为,

代码应该可以正常工作。但是,我有什么副作用吗?

0 投票
1 回答
171 浏览

php - PHP:在类的标题中声明函数签名?

最佳实践- 在 PHP 5.3+ 中,我们可以像 C++ 一样声明函数 signares 并将主体放在它的底部吗?如果是,如何制作?

例子 :

提前谢谢你。

0 投票
2 回答
465 浏览

java - Java - 是否可以输出带有方法签名的堆栈跟踪?

是否可以使用方法签名输出当前堆栈跟踪?我正在尝试调试一些混淆代码,这些代码具有大量具有相同名称的方法,只是参数和返回类型不同。

一些不起作用的东西:

0 投票
6 回答
19001 浏览

java - 计算 Java 函数的签名

有没有办法计算Java 类的方法签名?签名
like([Ljava/lang/String;)V表示以 aString[]作为参数
并返回的函数void

计算签名的规则是什么?

0 投票
1 回答
90733 浏览

c++ - 静态成员函数错误;如何正确书写签名?

尝试使用当前签名在 g++ 中编译我的代码时出现错误:

我的问题是双重的:

  1. 为什么它不以这种方式编译?
  2. 什么是正确的签名,为什么?

使用 C++ 时,签名一直是我的死因

编辑:这里也是类头文件:

0 投票
1 回答
83 浏览

perl - 您如何内省 MooseX::Method::Signatures 方法以查看它们的论点?

我正在使用 MooseX::Declare 和方法,它使用 MooseX::Method::Signatures。假设我有一个带有方法'bar'的类'foo',我已经实现了它:

我现在想编写一个前端界面,询问用户他们想要使用什么类,他们想要使用该类的什么方法,以及他们想要的方法的哪些选项。我可以做前两件事,所以假设用户现在选择了类 foo 和方法栏。

但是我如何找出方法 bar 将一个字符串作为第一个参数,以及一个默认为 1 的标志 => bool 键值对?我的代码需要知道这一点,这样我才能要求用户提供这些东西。

0 投票
3 回答
2907 浏览

c - C中的方法签名,在静态数组上传递指针

我有以下数组:

我想在这个数组上提供一个指向这样的方法的指针:

applyMask 函数的签名如下:

但我收到以下编译警告:

这个警告是什么意思,我该如何摆脱它?