将子类的实例添加到地图数组中

时间:2014-09-30 22:00:54

标签: c++ map

在C ++中,我有以下地图数组:

map<string, Module> modules;

以下代码定义Module类:

class Module {
    public:
        const char** run();
};

以下子类从它的父级实现所有必需的方法:

class Wsiv : public Module {

以下代码在vector之后阻止:

#ifndef NWSIV
    modules["wsiv"] = new Wsiv; // Add the WSIV module if it's not disabled at compile time.
#endif

但是当我编译这一切时(我知道所有内容都被包含在内)它给了我这个错误:

../src/main.cpp:38:25: error: expected type-specifier before 'Wsiv'
   modules["wsiv"] = new Wsiv; // Add the WSIV module if it's not disabled at compile time
.
                         ^
../src/main.cpp:38:25: error: expected ';' before 'Wsiv'

由于Wsiv扩展Module,我应该能够初始化Wsiv的一个实例,并将其作为Module类数组中的值进行分配。我应该能够将一种类型转换为另一种类型。 我该如何解决这个问题?

0 个答案:

没有答案