class SymbolNode {
public:
string name;
Type type;
int offset;
SymbolNode(string name_, Type type_, int offset_): name(name_), type(type_), offset(offset_) {
}
};
class FuncNode : public SymbolNode {
public:
Type returnType;
vector<Type> entries;
FuncNode(string name_, Type type_, int offset_,Type returnType,vector<Type> entries):
SymbolNode(name_,type_,offset_) ,returnType(returnType),entries(entries) {}
};
因此,我有基类SymbolNode的继承类FuncNode。当我尝试访问func的元素时,我无法访问所有元素。 我想向矢量符号添加func。而且还具有访问所有元素的能力。
std::shared_ptr<SymbolNode> func= make_shared<FuncNode>("inc",FUNC,1,INT,entries);
vector<std::shared_ptr<SymbolNode>> Symbols;