@sddvxd

В чем здесь ошибка (конструктор)?

Здравствуйте

Код класса:

class Queue{
private:
  struct Node
  {
    String str = "123";
    Node* next;
  };
  enum{
    Q_SIZE = 10
  };
  int items;
  const int qsize;
  Node * front,rear;
public:
  Queue(int);
  bool isfull()const;
};


Конструктор Queue:

Queue::Queue(int qs = Q_SIZE):qsize(qs),front(nullptr),rear(nullptr),items(0){}


Компилятор отвечает:

Нет совпадений для вызова функции `Queue::Node::Node(int)`
  • Вопрос задан
  • 75 просмотров
Решения вопроса 1
Ошибка в этой строке:
Node * front, rear;

Только front является указателем на структуру. В конструкторе класса вы передаёте в конструктор rearint (nullptr).

Ошибки не будет, если оба значения будут указателями:
Node *front, *rear;
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы