Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/146.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ QT中的过载QDebug_C++_Qt_Qdebug - Fatal编程技术网

C++ QT中的过载QDebug

C++ QT中的过载QDebug,c++,qt,qdebug,C++,Qt,Qdebug,在view.h文件中: friend QDebug operator<< (QDebug , const Model_Personal_Info &); 标题: class DebugClass : public QObject { Q_OBJECT public: explicit DebugClass(QObject *parent = 0); int x; }; QDebug operator<< (QDebug , const

在view.h文件中:

friend QDebug operator<< (QDebug , const Model_Personal_Info &);
标题:

class DebugClass : public QObject
{
    Q_OBJECT
public:
    explicit DebugClass(QObject *parent = 0);
    int x;
};

QDebug operator<< (QDebug , const DebugClass &);
class调试类:公共QObject
{
Q_对象
公众:
显式调试类(QObject*parent=0);
int x;
};

QDebug操作符尽管当前的答案可以做到这一点,但其中有很多代码是多余的。只需将此添加到您的
.h

QDebug operator <<(QDebug debug, const ObjectClassName& object);

Jyo,请不要在你的问题中添加“已解决”或解决方案。。。将任何解决方案作为答案张贴。你的建议与我的建议完全相同。您刚刚编写了注释行,而不是my
dbg.nospace()
行数非常不同,除此之外,当然,它是相同的@t3ft3l--i
error: no match for 'operator<<' in 'qDebug()() << personalInfo'
class DebugClass : public QObject
{
    Q_OBJECT
public:
    explicit DebugClass(QObject *parent = 0);
    int x;
};

QDebug operator<< (QDebug , const DebugClass &);
DebugClass::DebugClass(QObject *parent) : QObject(parent)
{
    x = 5;
}   

QDebug operator<<(QDebug dbg, const DebugClass &info)
{
    dbg.nospace() << "This is x: " << info.x;
    return dbg.maybeSpace();
}
class DebugClass : public QObject
{
    Q_OBJECT
public:
    explicit DebugClass(QObject *parent = 0);
    friend QDebug operator<< (QDebug dbg, const DebugClass &info){
        dbg.nospace() << "This is x: " <<info.x;
        return dbg.maybeSpace();
    }

private:
    int x;
};
QDebug operator <<(QDebug debug, const ObjectClassName& object);
QDebug operator <<(QDebug debug, const ObjectClassName& object)
{
    // Any stuff you want done to the debug stream happens here.
    return debug;
}