Encontrar la causa raíz de "no se puede acceder al miembro privado declarado en la clase 'QObject'"
Entiendo porque recibo unC2248: 'QObject::QObject' : cannot access private member declared in class 'QObject'
. Los objetos Qt no son copiables, como se explica aquí:
losproblema Es decir, que el mensaje del compilador siempre indica la última línea (cierre}
) de la clase:
class MyQObject : public QObject {
Q_OBJECT
....
}; <-- error line
La causa raíz está en otra parte, es decir. donde se copia la clase (otro archivo, alguna línea diferente en el código). ¡Esto a veces es difícil de detectar!Pregunta: ¿Hay una manera de localizar la línea de la verdadera razón del error
Observación: Tenga en cuenta, antes de marcar este duplicado. La pregunta es sobre encontrar la causa raíz, no cómo resolverla como en las otras preguntas.
--- Edición 1 ---
Buena pista Kuba et.al. Es VS2010, compilando en 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 &)'
Me pregunto por qué se genera un constructor de copia. Una idea cruzó mi mente, estoy usando la versión de Qt habilitada para DBus, ¿podría ser esta la razón?