#include <iostream>
#define MAXSIZE 100;
using namespace std;
template<class T>
struct stack_s
{
T* pBegin;
T* pEnd;
int stack_size;
};
template<class T>
class stack
{
private:
stack_s<T> ss;
public:
stack();
~stack();
bool StackEmpty();
int StackLength();
T GetTop();
void Push(T data);
T Pop();
};
template<class T>
stack<T>::stack() //这里一直报错,如下
{
ss.pBegin = new T[MAXSIZE];
ss.stack_size = 0;
ss.pEnd = ss.pBegin;
}
template<class T>
stack<T>::~stack()
{
delete[] ss.pBegin;
}
报错:
错误 1 error C2958: 左 中括号“[”(在“e:\study\data\stack\stack\stack\stack.cpp(30)”中找到)未能正确匹配 e:\study\data\stack\stack\stack\stack.cpp 30 1 stack
错误 2 error C2059: 语法错误:“]” e:\study\data\stack\stack\stack\stack.cpp 30 1 stack
错误 3 error C2143: 语法错误 : 缺少“;”(在“.”的前面) e:\study\data\stack\stack\stack\stack.cpp 31 1 stack
错误 4 error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int e:\study\data\stack\stack\stack\stack.cpp 31 1 stack
错误 5 error C2143: 语法错误 : 缺少“;”(在“.”的前面) e:\study\data\stack\stack\stack\stack.cpp 32 1 stack
错误 6 error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int e:\study\data\stack\stack\stack\stack.cpp 32 1 stack
错误 7 error C2086: “int ss”: 重定义 e:\study\data\stack\stack\stack\stack.cpp 32 1 stack
错误 8 error C2059: 语法错误:“}” e:\study\data\stack\stack\stack\stack.cpp 33 1 stack
错误 9 error C2143: 语法错误 : 缺少“;”(在“}”的前面) e:\study\data\stack\stack\stack\stack.cpp 33 1 stack
错误 10 error C2059: 语法错误:“}” e:\study\data\stack\stack\stack\stack.cpp 33 1 stack
1 个解决方案
#1
为什么要加
分号?
#define MAXSIZE 100;
#1
为什么要加
分号?
#define MAXSIZE 100;