サンプルコードは次のとおりです:
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 { // ...
そしてそれは動作するはずです。