Localizar causa raiz de “não é possível acessar o membro privado declarado na classe 'QObject'”
Eu entendo porque eu recebo umC2248: 'QObject::QObject' : cannot access private member declared in class 'QObject'
. Objetos Qt não são copiáveis, como explicado aqui:
oproblema é que a mensagem do compilador sempre indica a última linha (fechamento}
) da classe:
class MyQObject : public QObject {
Q_OBJECT
....
}; <-- error line
A causa raiz está em outro lugar, ou seja. onde a classe é copiada (outro arquivo, alguma linha diferente no código). Às vezes isso é difícil de detectar!Questão: Existe uma maneira de localizar a linha do motivo real do erro
Observação: Por favor note, antes de marcar este duplicado. A pergunta é sobre encontrar a causa raiz, não como resolvê-la como nas outras questões.
--- Editar 1 ---
Boa dica Kuba et.al. É VS2010, compilando no Qt Creator 2.8.0
'QObject::QObject'
C:\Qt\5.1.0-32\qtbase\include\QtCore/qobject.h(115) : see declaration of 'QObject'
This diagnostic occurred in the compiler generated function 'MyQObject ::MyQObject (const MyQObject &)'
Eu me pergunto por que um construtor de cópia é gerado. Uma ideia passou pela minha cabeça, estou usando a versão DBus do Qt, esta pode ser a razão?