2011-03-01 3 views
1

C는 QObject 파생 클래스이므로 성공적으로 사용할 수 있습니다.QObject :: connect는 컴파일시에 객체를 "거부"합니다.

"연결"에 컴파일 오류가 발생합니다. "this-> controller"를 "this"로 변경하면 대상에서 정상적으로 작동합니다. 수신자가 this-> 컨트롤러에 대해 뭔가 컴파일하지 못하게합니다. 나는 그것이 어리석은 무엇인가 틀림 없음을 깨닫는다. 그러나 원인은 나를 피한다. ..

MyClass::MyClass(C * controller) 
    : QThread(NULL) 
{ 
    this->controller = controller; 
    QObject::connect(this, SIGNAL(OnResponse(ResponseClass*)), this->controller, SLOT(OnResponse(ResponseClass*))); // <---- "Compiler error: " error: no matching function for call to...." 
} 
+0

이 컨트롤러의 선언은 무엇입니까? –

답변

2

MY 나쁜. "this-> controller"클래스는 * .h 파일의 순환 참조 때문에 만 전달 선언으로 선언되었습니다. 그로 인해 문제가 발생했습니다. 컴파일러가 그걸로 할 수있는 것은별로 없습니다.

관련 문제