在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
类数组中的值进行分配。我应该能够将一种类型转换为另一种类型。
我该如何解决这个问题?