2013-09-10 6 views
6

Qt 4.7에서 작업 중이며 신호와 슬롯이있는 코드 부분이 있습니다.Qt - 컴파일러가 "연결"을 인식하지 못합니다

#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

관련 문제