Ошибка: no matching constructor for initialization, что делать?
Неправильно объявлен конструктор копирования и оператор присваивания:TemplateRequirement(TemplateRequirement &);
TemplateRequirement& operator=(TemplateRequirement&);
Надо так:TemplateRequirement(const TemplateRequirement &);
TemplateRequirement& operator=(const TemplateRequirement&);
Ещё советую заменить параметры типа QString и QString& на const QString&.
Возможно, в конструкторе копирования потерялся const.TemplateRequirement(const TemplateRequirement &);