我在这段代码上收到以下错误。
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中声明的私有成员
阅读其他帖子没有帮助。
答案 0 :(得分:4)
QScopedPointer
没有公共副本构造函数。它不能按值传递,也不能存储在需要其元素可复制的容器中(noteEvents
可能是哪个,具体取决于它的声明方式)。