QObject でのアクセスできない変換 質問する

QObject でのアクセスできない変換 質問する

サンプルコードは次のとおりです:

class hoho : public QObject
{
    Q_OBJECT
public:
    hoho() 
    {
        httpFetch = new HttpFetch(QUrl("http://www.google.com/"));
        connect(httpFetch, SIGNAL(Fetched()), this, SLOT(PrintData(QByteArray)));
    }

    void PrintData(QByteArray http)
    {
        qDebug()<<http;
    }

    HttpFetch *httpFetch;
};

これをコンパイルしようとすると、次のエラーが表示されます

1>main.cpp(15): error C2243: 'type cast' : conversion from 'HttpFetch *' to 'const QObject *' exists, but is inaccessible

このエラーは、クラスが派生されるときに発生しますQObject(シグナルとスロットのメカニズムに必要)。

これを修正する方法を誰か教えてもらえますか?

ベストアンサー1

HttpFetchおそらく、から公的にではなく私的に派生したのでしょうQObject

class HttpFetch : QObject { // ...

class HttpFetch : public QObject { // ...

そしてそれは動作するはずです。

おすすめ記事