Stack.h:13:3:错误:“单元格”未命名类型

时间:2019-01-15 22:00:39

标签: c++ stack

下一个代码有问题,出现以下错误

  

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 By StefanBjörnander 2018年2月

1 个答案:

答案 0 :(得分:3)

Cell *m_firstCellPtr;行指的是类型Cell,这在那时显然是未知的。

这很有可能是因为该书仅在此页面上显示Stack部分,而没有提及您必须声明Cell,例如通过添加类似#include "Cell.h"

摆脱这种情况的三种方法:

  1. #include "Cell.h"(如果该书的资源提供了该书
  2. 在定义Cell之前将class Cell;声明为Stack
  3. 将行更改为class Cell *m_firstCellPtr;