parent
в вашей строке 3 должен прийти откуда-то.Поскольку вы определяете конструктор GameScene
, вероятно, это действительно аргумент для конструктора (я не знаком с Qt, поэтому не знаю, каким должен быть тип parent
- используйте соответствующий тип в вашем реальном коде):
GameScene::GameScene(TypeOfParent parent) : QGraphicsScene(parent)
{
}
Или, если имеет смысл вызывать конструктор QGraphicsScene
без родителя, тогда:
GameScene::GameScene() : QGraphicsScene()
{
}
может быть возможным.Вероятно, нет, так как сообщение об ошибке указывает на отсутствие конструкторов с нулевым аргументом QGraphicsScene
.
Кроме того, вы не опубликовали определение класса, но, учитывая вашу попытку определения конструктора, я предполагаю, что GameScene
публично наследуется от QtGraphicsScene
.Поэтому, когда вы создаете GameScene
, вам нужно вызвать конструктор суперкласса (как вы пытаетесь это сделать).Но любые аргументы конструктора суперкласса могут исходить только от аргументов вашего конструктора.Поэтому, если конструктору суперкласса требуется аргумент, ваш конструктор будет нуждаться в этом аргументе, чтобы он мог передать его конструктору суперкласса (если только для вас не имеет смысла передавать конструктору суперкласса аргумент постоянной времени компиляции).