c++ - 如何在函数重载决议中转储候选人?

标签 c++ c++11 overload-resolution

如何为函数调用转储候选函数(或可行函数或最佳可行函数)?

我知道 g++ 提供了一个 option to dump class hierarchy . (事实上​​,Visual Studio 2010 提供了一个类似的选项,但它没有记录。我记得读过一些关于它的东西——也许在 VC++ 团队博客中——但我记不太清楚了。)

最近,我一直在阅读 C++0x 草案中的重载决议,这让我感到非常尴尬。

是否有任何编译器提供转储候选函数、可行函数或最佳可行函数的选项?

注意:重载决议场景中的候选函数与编译错误中的候选函数不同。重载解决方案中的候选/可行/最佳可行函数有其自身的含义。我知道重载决策的三个阶段:找到候选函数;找到可行的功能; 找到最好的可行功能。通常,最好的可行功能只是一个候选者;否则,调用是不明确的。每个阶段都有自己的规则。

最佳答案

在 Visual Studio 中执行此操作的最简单方法是编译一个不明确的调用。编译器将吐出一个可用候选列表的错误。可能 g++ 会做同样的事情。

关于c++ - 如何在函数重载决议中转储候选人?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3750675/

相关文章:

c++ - 类型转换双 float 的开销?

c++ - 用于设置相关类属性的 map 的合理键类型?

c++ - 异常 C++ : Catch by reference/value

c++ - std::function 无法区分重载函数

c++ - 动态内存分配和指针非字符数组类型

c++ - 模板函数 - 模板是否覆盖普通函数

C++ 错误 : deduced conflicting types for parameter 'T' string vs const char *

c++ - 带有指向持有 unordered_set 的对象的指针的段错误

c++11 - Clang 3.5和3.6之间的过载分辨率更改是否正确还是错误?

c++ - 模板参数推导如何区分左值和文字/编译时值