C2248 — Нет доступа к приватному члену при передаче функции QScopedPointer

Я получаю следующую ошибку в этом куске кода.

QScopedPointer<NoteEvent> onEvent(new NoteEvent(date, chan, pitch, vel, true));
QScopedPointer<NoteEvent> offEvent(new NoteEvent(date + dur, chan, pitch, vel, false));
Score::noteStream->addNoteEvent(onEvent);
Score::noteStream->addNoteEvent(offEvent);void NoteStream::addNoteEvent(QScopedPointer<NoteEvent> noteEvent)
{
noteEvents->push_back(noteEvent);
}

Ошибка: C2248: «QScopedPointer»: нет доступа к закрытому члену, объявленному в QScopedPointer

Прочитать другие посты не помогло.

1

Решение

QScopedPointer не имеет публичного конструктора копирования. Он не может передаваться по значению и не храниться в контейнерах, которые требуют, чтобы его элементы были копируемыми (что noteEvents может быть, в зависимости от того, как он объявлен).

4

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]