我试图做多重继承在C++:继承和地图C++
class Element{
public:
Element(): common_variable(0) {}
int common_variable;
};
class Number:public Element, public Setupable{
public:
Number() {}
vector<Digit> digit_vector;
};
class MultiLed:public Element, public Setupable{
public:
MultiLed() {}
vector<Led> led_vector;
};
对象要素是从来没有实例化,但我用它来避免MULTILED和数字代码重复。
有一个地图,其中包括一个数:map<string,Number> mNumbers
,我想它在第一次使用创建:
mNumbers["blabla"].digit_vector.push_back(digit);
但是,这是行不通的。对Element,Setupable和Number的构造函数的调用已正确完成。但程序停止在“push_back”呼吁说:
undefined symbol: _ZN14AcElementD2Ev
有人可以帮我这个吗?
“Setupable”的定义也可能有帮助... – janr
您是否使用GCC进行编译,并且确切的符号是?它看起来差不多,但不完全像GCC所称的名为'AcElement'类的析构函数。你有一个类似这样的名字的类,你在那个类中声明了一个析构函数吗? –
@Jav元素中是否有静态成员D2Ev? – billz