Seite 1 von 1

[gelöst] Wie geht qDebug()<<QList<T>?

Verfasst: 16. Februar 2007 11:55
von BartSimpson
Hallo, welche Funktion muss ich in meinem Objekt einfügen, damit es geht?
Ich habe es schon mit

Code: Alles auswählen

public:
            QDataStream & operator<<(QDataStream &strom, const T& modul);
versucht, doch da streikt der Compiler mit:
: error C2804: Binärer Operator '<<' hat zu viele Parameter

Ich will meinem Objekt eine Funktion verpassen, das den Inhalt aller seiner Variablen ausgibt. Denn ein qDebug()<<QStringList geht ja auch.

Verfasst: 16. Februar 2007 15:09
von BartSimpson
Nach probieren und Rückfrage bei Christian81 habe ich diese Lösung gefunden:

Code: Alles auswählen

Header:
class test
{
   public:
                test();
                QString Demo();
};
#ifndef QT_NO_DEBUG
QDebug  operator<<(QDebug debug, const test &objekt); 
#endif
C++:
QString test:Demo()
{
     return "bla";
}
#ifndef QT_NO_DEBUG
QDebug  operator<<(QDebug debug, const test &objekt)
{
     return debug<<objekt.Demo();
}
#endif
Dann kann man qDebug()<<QList<T> aufrufen:)