Ошибка, которую вы видите, может быть вызвана еще одной ошибкой до этого, а именно:
const
члены должны быть инициализированы в строке или с member-init-list. В теле конструктора они уже const
.
Изменить
relation(relation_label l) : std::vector<N>(0) {
this->label = l;
};
На
relation(relation_label l) : std::vector<N>(0), label(l) {
}
Кроме того, я надеюсь, word
- это определенный тип где-то в вашем приложении.
=== РЕДАКТИРОВАТЬ ===
Из комментария:
"слово" это определяется следующим образом:
class word;
class word_related : public named_node {
public: relation<word*> includes(relation_label::INCLUDES);
};
Что означает relation<word*> includes(relation_label::INCLUDES)
? Это похоже на определение функции-члена includes()
, но тогда relation_label::INCLUDES
должен быть типом. Что это не так, очевидно.
Может быть, вы имели в виду
relation<word*> includes(relation_label lbl = relation_label::INCLUDES);
?