C ++继承,无法访问继承的元素

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;
评论