【发布时间】:2015-08-27 14:39:28
【问题描述】:
我正在尝试编写一个接口类,其中用户以 DLL 的形式提供他们的实现。作为此接口的一部分,有一些成员函数返回在运行时确定的推导类型,例如:
auto someFunction(int x) -> decltype(auto)
我无法公开这些功能以供客户端应用程序使用。我试图对这个问题进行一些研究,似乎最流行的导出成员函数的解决方案是将它们声明为虚拟以利用 vtable。我尝试了这种方法,但得到一个错误“虚函数不能有推导的返回类型”。有没有 vtable 方法的替代方案?
谢谢。
【问题讨论】:
-
没有在运行时确定的类型。类型推导发生在编译期间。
-
@molbdnilo 感谢您的回复。我基本上试图拥有一个返回一些数据值但能够返回任何类型的函数。该函数将从 DLL 加载,返回类型将取决于该 DLL 中的函数实现。这种行为不可能吗?
-
能否更详细地解释您想要实现的目标?可以举个例子吗?