2013-09-10 4 views
6

私はQt 4.7で作業していますが、信号とスロットを持つコードの部分があります。それはつまり、普通のように設定です:Qt - コンパイラは "connect"を認識しません

#include <QObject> 

//Earlier code... 
connect(my_thread, SIGNAL(started()), other_thread, SLOT(process())); 
connect(my_thread, SIGNAL(finished()), third_thread, SLOT(some_slot())); 
//Later code... 

をしかし、私はそれが「C3861: 『を接続』:識別子が見つからない」という文ごとにエラーを与える構築するとき、誰もが、これはかもしれなぜ任意のアイデアを持っていますか?ありがとう!

答えて

16

あなたは、コードがなりますので、QObject::との接続の前に、QObject派生クラスの一部ではないコードに接続して使用する場合:

//Earlier code... 
QObject::connect(my_thread, SIGNAL(started()), other_thread, SLOT(process())); 

LE:基本的には静的を接続して呼び出しますメソッドであり、QObject(またはQObject派生クラス)のスコープ内にない場合は、を接続してに接続する必要があります。そうでなければ、コンパイラはそれを見つけることができません。現在の範囲)

+0

thそれは、ありがとう! :) – thnkwthprtls

関連する問題