首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >用推导的类型公开类成员函数

用推导的类型公开类成员函数
EN

Stack Overflow用户
提问于 2015-08-27 14:39:28
回答 1查看 88关注 0票数 0

我正在尝试编写一个接口类,其中用户以DLL的形式提供他们的实现。作为该接口的一部分,有一些成员函数返回在运行时确定的推断类型,例如:

代码语言:javascript
复制
auto someFunction(int x) -> decltype(auto)

我在公开客户端应用程序使用的这些函数时遇到了问题。我试着对这个问题做了一些研究,似乎导出成员函数最流行的解决方案是声明它们是虚拟的,以便使用vtable。我尝试过这种方法,但得到了一个错误“一个虚拟函数不能有一个推导的返回类型”。除了vtable方法之外,还有其他选择吗?

谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-08-27 15:20:17

你想做的事是不可能的。虚拟函数不能是模板(在这种情况下,您可以将汽车看作模板)。原因是所有类型的演绎都发生在编译时,因为在C++中运行时没有类型信息。而虚拟函数解析是在编译时发生的。您正在寻找的技术(不是银弹,但有时适用)称为类型省略。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32252400

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档