overload-resolution相关内容

通用方法解决方案

考虑下面的代码: public class Tests { public void Test() { Assert.AreEqual(“Int”,DoSomething(1)); public static string DoSomething(T value) { return“Generic”; } public static string ..
发布时间:2018-04-21 20:37:09 C#/.NET

通用扩展方法解析失败

下面的程序不能编译,因为在错误行中,编译器选择带有单个 T 参数的方法作为分辨率,因为 List 不符合单个 T 的通用约束。编译器不承认有另一种方法可以使用。如果我删除单个 T 方法,编译器将正确地找到许多对象的方法。 我读过两篇关于泛型方法解析的博文,一篇来自JonSkeet 这里,但我找不到解释或解决问题的方法。 很明显,有两种名称不同的方法可以工作,但我喜欢这种情况下您 ..
发布时间:2018-04-21 19:14:54 C#/.NET

获取重载方法的地址位置

如何获取重载的函数/过程/方法的所有地址位置? 例如,Dialogs.MessageDlgPosHelp重载有两个不同版本的 - 一个没有默认按钮,一个没有。如何获取这两个函数的地址位置? 解决方案 根据 这个线程 以及什么 Thomas Mueller 指出,您可能会定义与要获取的地址(每个重载)的方法相同的签名类型。如果然后声明这些类型的变量并给它们分配方法指针,那么您将确保编译 ..
发布时间:2017-04-25 00:05:15 Delphi

如何转储候选人在函数重载分辨率?

如何转储函数调用的候选函数(或可行函数或最佳可行函数)? 我知道g ++提供了选项转储类层次结构。 (事实上​​,Visual Studio 2010提供了一个类似的选项,但它没有记录,我记得读一些关于它 - 也许在VC ++团队博客,但我不记得清楚。) 最近,我一直在阅读关于C ++ 0x草案中的重载解析,它真的让我很尴尬。 有没有任何编译器提供一个选项转储候选函数,可行函数或 ..
发布时间:2016-10-27 01:48:20 C/C++开发

最后手段/ catch-all / fallback模板超载

正如我先前问过的问题显而易见的, 重载分辨率,模板和继承,将在需要基于转换的过载之前选择模板重载。 但是,有一种方法提供回退超载,只有选择作为绝对最后的手段,如果没有其他匹配的东西?在这种特殊情况下,可以使用 enable_if ,但不可扩展。不幸的是。 p> //我的库有这个,并且不知道foo可能的重载 template ..
发布时间:2016-10-25 13:50:57 C/C++开发

运算符的奇怪行为> =重载

我有一个奇怪的行为与操作符重载在C + +。我有一个类,我需要检查其内容是否大于或等于长双。我重载了> =运算符来做这个检查,我的声明如下: bool MyClass :: operator> = double value)const; 我不得不说我对我的类有一个cast-to-long-只有在某些条件下才能工作。 现在,当我使用这个运算符时,编译器会抱怨使用opera ..
发布时间:2016-10-25 13:50:43 C/C++开发

运算符的奇怪行为> =重载

我有一个奇怪的行为与操作符重载在C + +。我有一个类,我需要检查其内容是否大于或等于长双。我重载了> =运算符来做这个检查,我的声明如下: bool MyClass :: operator> = double value)const; 我不得不说我对我的类有一个cast-to-long-只有在某些条件下才能工作。 现在,当我使用这个运算符时,编译器会抱怨使用opera ..
发布时间:2016-10-25 13:49:00 C/C++开发