在 OOP 中传递堆栈 object

Passing a stack object in OOP

我一直在尝试使用堆栈(我认为是标准方法)在 C++ 中创建迷宫程序,但我就是想不通如何通过引用其他函数来传递堆栈 object在程序中。 header 文件中的函数声明包含我能看到的所有内容,但是当我尝试 运行 程序时,我不断收到错误消息。这是函数的声明,以及函数在实现文件中的使用:

实施:

void Maze::backTrack(int & rows, int & cols, stack <int> &maze)

Header:

void backTrack(int & rows, int & cols, stack <int> & maze);

我不断收到此错误消息:

error C2061: syntax error: identifier 'stack'

感谢您的帮助!

您需要传递命名空间名称 std::stack 并包含它或转发声明它。所以应该是:

void Maze::backTrack(int & rows, int & cols, std::stack<int> &maze)