2013-09-10 18 views
6

Qt 4.7'de çalışıyorum ve sinyalleri ve yuvaları olan bir kod bölümüm var.Qt - derleyici "bağlan" ı tanımayacak

#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... 

Ancak, bu söyleyerek her ifade için bir hata veriyor oluştururken "C3861: 'connect': bulunamadı tanımlayıcı" herkes herhangi bir fikir var mı bu olabilir neden sadece yani normal bir şekilde ayarlanır? Teşekkürler!

cevap

16

kod olacak, böylece QObject:: ile bağlantı önüne, bir QObject türetilmiş sınıfın bir parçası değildir kodunda bağlamak kullanıyorsanız:

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

LE: temelde statik çağrı bağlamak yöntemi ve bir QObject (veya QObject türetilmiş bir sınıf) kapsamında olmadığınızda, aramak istediğiniz bağlantı tam olarak belirtmeniz gerekir, aksi halde derleyici bulamaz (veya yanlış bir bağlantı bulabilir) geçerli kapsam)

+0

th oldu, teşekkürler! :) – thnkwthprtls