【发布时间】:2012-08-05 13:49:40
【问题描述】:
有人可以为我解释一下 Base*(*)(),如下所示:
typedef std::map<std::string, Base*(*)()> map_type;
如何从函数中返回它?
我假设它是一个函数指针,返回一个Base*,但这是什么(*)。
我在以下 SO 帖子 Is there a way to instantiate objects from a string holding their class name? 中发现了这一点
谢谢
【问题讨论】:
-
cdecl 说
Base*(*)()是一个语法错误,有趣。 -
@FredOverflow:我认为我们必须假设
Base被定义为一种类型。 -
@FredOverflow:建立一个抽象基类。