У меня есть два метода, которые я использую с QT. Функция PRINTR просто печатает информацию из моего объекта COURSE, и PRINTN должен найти разницу между двумя векторами и распечатать результат с помощью PRINTR. Функция PRINTR работает нормально, но у меня возникают проблемы с получением PRINTN работы:Передача вектора указателя на вставку
void course::printr(vector<course*> c){
QString string1,string2;
for(int i = 0; i < (int)c.size();i++){
string1 = c[i]->getSubjectCourse();
string2 = c[i]->getTitle();
emit send(QString("%1\t%2").arg(string1).arg(string2));
}
}
Когда я пытаюсь использовать только простой вектор объекта я получаю сообщение об ошибке говорящего QObject частное что десятки линий длиной. По этой причине я должен использовать векторы-указатели.
void course::printn(vector<course> a,vector<course> compA){
sort(a.begin(),a.end());
sort(compA.begin(),compA.end());
vector<course*> diff;
set_difference(a.begin(),
a.end(),
compA.begin(),
compA.end(),
inserter(diff,diff.begin()));
course().printr(diff);
}
Проблема возникает, когда я использую указатель вектора DIFF в методе PRINTN на линии:
inserter(diff,diff.begin()));
сообщение об ошибке очень долго, но я думаю, что его жалуюсь, потому что я пытаюсь передать вектор указателя на функцию вставки. Когда я использую обычный вектор объекта, функция inserter работает сама по себе, но я получаю QObject как частную ошибку. Есть ли способ заставить меня работать с моей нынешней структурой? Я пробовал пару различных вариантов, но они не работают из-за структуры QT. Надеюсь, я объяснил это все четко, но если вам нужно больше объяснений о том, что я пытаюсь выполнить, пожалуйста, дайте мне знать. Заранее спасибо.