C++ 堆栈声明问题

标签 c++ stack

我试图在我的程序中声明一个堆栈,但是它说我不能按照我尝试的方式声明它。

private:
    stack<tree_node<T>*> s;

然后我尝试按如下方式使用它:

 protected:
     s.push(p);

注意:“ protected ”部分中有更多代码,但这是错误的来源。

错误:ISO C++ 禁止声明没有类型的“堆栈”

最佳答案

至少在典型情况下,<T>只有在 T 的模板中才有意义被声明为模板参数之一,类似于:

template<class T>
class whatever // ...

关于C++ 堆栈声明问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5480262/

相关文章:

c++ - reheapify的STL实现

c++ - 错误 : invalid operands of types ‘int’ and ‘<unresolved overloaded function type>’ to binary ‘operator/’

c - 中缀计算器

c++ - std::set 错误:»operator<« 不匹配

c++ - 在 C++ 中释放单个变量或数组之间的区别

c++ - 如何在 Windows 上使用 Visual C++ 强制加载链接库

c - 在堆栈上声明内存会覆盖先前声明的内存

c++ - 找出应用程序挂起的位置

c++ - 在没有任何关联指针或变量的情况下释放存储在堆栈中的整数

c - 为什么 -fno-stack-protector 会颠倒这些字符串的存储顺序?