【发布时间】:2020-02-06 12:03:02
【问题描述】:
我正在尝试编写继承自T 的模板类并正确实现其中的一部分,我需要知道T 使用的数据类型是什么。幸运的是,所有对 T 的有效替换都有成员方法 GetOutput,它返回预期的数据类型。但是,该方法有两个重载:GetOutput() 和 GetOutput(int)。我试图使用this answer 提取类型,但未能使重载解析工作:
using OutputType = typename std::result_of<decltype(&T::GetOutput)(T)>::type;
我正在尝试的方法是否可行,如果可以,到达那里的正确方法是什么?
【问题讨论】:
-
GetOutput(int)和decltype(&T::GetOutput)(T)。如果您期望int,为什么要通过T?