Finden Sie die Hauptursache für "Zugriff auf in der Klasse 'QObject' deklariertes privates Mitglied nicht möglich"
Ich verstehe, warum ich a bekommeC2248: 'QObject::QObject' : cannot access private member declared in class 'QObject'
. Qt-Objekte können nicht kopiert werden, wie hier erläutert:
DasProblem ist, dass die Compilermeldung immer die letzte Zeile anzeigt (schließend)}
) der Klasse:
class MyQObject : public QObject {
Q_OBJECT
....
}; <-- error line
Die Hauptursache ist woanders, dh. wo die Klasse kopiert wird (andere Datei, andere Codezeile). Das ist manchmal schwer zu erkennen!Frage: Gibt es eine Möglichkeit, die Zeile des tatsächlichen Grunds für den Fehler zu lokalisieren
Anmerkung: Bitte beachten Sie, bevor Sie dieses Duplikat markieren. Bei der Frage geht es darum, die Hauptursache zu finden, und nicht darum, wie man sie wie in den anderen Fragen löst.
--- Edit 1 ---
Guter Hinweis Kuba et al. Es ist VS2010, das in Qt Creator 2.8.0 kompiliert wird
'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 &)'
Ich frage mich, warum ein Kopierkonstruktor generiert wird. Eine Idee kam mir in den Sinn: Ich verwende die DBus-fähige Version von Qt. Könnte dies der Grund sein?