ich möchte eine Qt3 Anwendung auf Qt4 anpassen. Dabei habe ich die Klasse Q3PtrList durch QList ersetzt.
Nun läuft der Compiler u. a. auf folgenden Fehler:
Code: Alles auswählen
/usr/include/QtCore/qlist.h: In Instanziierung von »int QList<T>::indexOf(const T&, int) const [with T = KPIM::KScoringRule]«:
......../kde-pim/kdepim-noakonadi/libkdepim/kscoring.cpp:1037:35: required from here
/usr/include/QtCore/qlist.h:847:24: Fehler: no match for »operator==« (operand types are »KPIM::KScoringRule« and »const KPIM::KScoringRule«)
if (n->t() == t)
In file included from /usr/include/kde4/kdemacros.h:162:0,
from ......../kde-pim/kdepim-noakonadi/libkdepim/kdepim_export.h:24,
from ......../kde-pim/kdepim-noakonadi/libkdepim/kscoring.h:21,
from ......../kde-pim/kdepim-noakonadi/libkdepim/kscoring.cpp:23:
Code: Alles auswählen
KScoringRule *KScoringManager::addRule( KScoringRule *expr )
{
// int i = allRules.findRef( expr ); // Alt; allRules ist vom Typ Q3PtrList
int i = allRules.indexOf( *expr ); // Neu; Zeile 1037 allRules ist vom Typ QList
if ( i == -1 ) {
// only add a rule we don't know
addRuleInternal( expr );
} else {
emit changedRules();
}
return expr;
}
http://doc.qt.io/qt-4.8/qlist.html Doku zu QList
KScoringRule ist eine selbst definierte Klasse.
Ist das Problem das "const" oder generell der Typ KScoringRule?
mike