Stack.h: 13: 3: ошибка: «Ячейка» не называет тип - PullRequest
0 голосов
/ 16 января 2019

У меня проблема со следующим кодом, я получаю следующую ошибку

Stack.h: 13: 3: ошибка: в ячейке не указан тип

Я не понимаю, как это решить, спасибо за вашу помощь.

// in a stack, we are in interested in its top value only. The default constructor initializes the stack to
// be empty
class Stack {
    public:
        Stack();
        void push(int value); // push adds a value at the top of the stack 
        int top(); // returns the top value
        void pop(); // removes the top value
        int size() const;  // size returns the number of values in the stack 
        bool empty() const; // returns true if the stack is empty
        int getNext() const;
    private:
        Cell *m_firstCellPtr; // m_firstCellPtr field is a pointer to the first cell of the linked list holding the values of the stack 
        int m_size; // fields holds the current size of the stack

};

Каждый пример из книги C ++ 17, который я получил, Стефаном Бьорнандером, февраль 2018 года

1 Ответ

0 голосов
/ 16 января 2019

Линия Cell *m_firstCellPtr; относится к типу Cell, который на данный момент явно не известен.

Это очень вероятно, потому что книга просто показывает Stack -части на этой странице, не упоминая, что вам придется объявить Cell, например. включив что-то вроде #include "Cell.h"

Три способа выйти из этого:

  1. #include "Cell.h", если в ресурсах книги это указано
  2. форвард объявляет Cell как class Cell; до определения Stack;
  3. изменить строку на class Cell *m_firstCellPtr;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...