Найти основную причину «не может получить доступ к закрытому члену, объявленному в классе« QObject »»
Я понимаю, почему я получаюC2248: 'QObject::QObject' : cannot access private member declared in class 'QObject'
, Объекты Qt не могут быть скопированы, как описано здесь:
проблема в том, что сообщение компилятора всегда указывает на последнюю строку (закрытие}
) из класса:
class MyQObject : public QObject {
Q_OBJECT
....
}; <-- error line
Коренная причина где-то еще, т.е. куда копируется класс (другой файл, другая строка в коде). Это иногда трудно заметить!Вопрос: Есть ли способ найти строку реальной причины ошибки
замечаниеПожалуйста, обратите внимание, прежде чем вы отметите этот дубликат. Вопрос в том, чтобы найти основную причину, а не в том, как ее решить, как в других вопросах.
--- Редактировать 1 ---
Хороший намек на Кубу и др. Это VS2010, компилируется в 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 &)'
Интересно, почему создается конструктор копирования? Одна мысль пришла мне в голову, я использую версию Qt с поддержкой DBus, может ли это быть причиной?