使用模板进行堆栈实现; "name followed by :: must be a class or namespace"

Using a template for a stack implementation; "name followed by :: must be a class or namespace"

本文关键字:must by be namespace or class followed name 堆栈 实现      更新时间:2023-10-16

stack.h

template <class DataType>
class Stack {
private:
int * topPtr;
public:
Stack();    //constructor; initializes top to nullptr
void push();    //adds a node
void pop();     //removes most recently added node
};

到目前为止stack.cpp

#include "stack.h"
//using namespace std;
template <class DataType>
Stack::Stack() {
topPtr = nullptr;
}

Stack::的下划线中有错误"name后跟::must be a class or namespace"。如果相关,我使用的是VS Code。

我只想有一个通用的堆栈实现,但我不确定为什么会出现这个错误?谢谢

类外定义的语法为:

template <class DataType>
Stack<DataType>::Stack() : topPtr{nullptr} {}
//    ^^^^^^^^
相关文章: