I'm having this declaration of a "relation" class which requires to be initialized "relation_label" value.
namespace hr {
    class node;
    enum relation_label : uint8_t {
        HAS, CONTAINS, IS_PARALLEL, INCLUDES, IS, PART_OF, LEADS_TO, IN
    };
    template<typename N>
    class relation : public std::vector<N> {
    private:
        relation(const relation &) = default;
    public:
        const relation_label label;
        relation(relation_label l) : std::vector<N>(0) {
            this->label = l;
        };
    };
}
This code compiles, but making new instances of relation objects does not compile. For example, the error on:
relation<word *> includes(relation_label::INCLUDES);
is "No type named 'INCLUDES' in 'hr::relation_label'".
Any idea? Thanks a lot.
 
     
     
    