1
QObject
から派生したクラスにQScopedPointer
を使用します。これは、しかし、失敗したコンストラクタでQScopedpointerがQ_DISABLE_COPYで失敗する
private:
QScopedPointer<CalculationManager> calculationManager;
:qscopedpointer.h
のラインで
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
calculationManager(QScopedPointer<CalculationManager>(new CalculationManager()))
を:として
MainWindow
は、それを含む
Q_DISABLE_COPY(QScopedPointer)
付:
C:\Qt\5.7\mingw53_32\include/QtCore/qscopedpointer.h: In constructor 'MainWindow::MainWindow(QWidget*)':
C:\Qt\5.7\mingw53_32\include/QtCore/qscopedpointer.h:176:20: error: 'QScopedPointer<T, Cleanup>::QScopedPointer(const QScopedPointer<T, Cleanup>&) [with T = CalculationManager; Cleanup = QScopedPointerDeleter<CalculationManager>]' is private
Q_DISABLE_COPY(QScopedPointer)
^
コピーはなぜ、どこで行われますか?