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.