C++ struct定义的类型,用在尖括号<>里报错

我先定义了一个PositonstructPosition{introw;intcol;};然后定义了一个链表堆栈template<classT>classNode{pri... 我先定义了一个Positon
struct Position
{
int row;
int col;
};

然后定义了一个链表堆栈
template<class T>
class Node
{
private:
T data;
Node<T> *link;
};

template<class T>
class LinkedStack
{
public:
LinkedStack(){top=0;}
~LinkedStack();
bool IsEmpty()const{return top==0;}
T Top()const;
LinkedStack<T>& Add(const T& x);
LinkedStack<T>& Delete(T& x);
private:
Node<T> *top;
};

class OutOfBounds{
public:
OutOfBounds(){
cout<<"Out Of Bounds!"<<endl;
}
};

template<class T>
LinkedStack<T>::~LinkedStack()
{
Node<T> *next;
while(top)
{
next = top->link;
delete top;
top = next;
}
}
template<class T>
T LinkedStack<T>::Top()const
{
if(IsEmpty())throw OutOfBounds();
return top->data;
}
template<class T>
LinkedStack<T>& LinkedStack<T>::Add(const T& x)
{
Node<T> *p = new Node<T>;
p->data = x;
p->link = top;
top = p;
return *this;
}
template<class T>
LinkedStack<T>& LinkedStack<T>::Delete(T& x)
{
if(IsEmpty())throw OutOfBounds();
x = top->data;
Node<T> *p = top;
top = top->link;
delete p ;
return *this;
}

问题来了,当我想这么声明一个path的时候
LinkedStack<Positon> *path;
总是报错
error C2065: 'Positon' : undeclared identifier
不是已经声明了Positon 了吗?
求大神指教!!!!!!
展开
 我来答
kyotrue
2014-02-26 · TA获得超过1.5万个赞
知道大有可为答主
回答量:2.3万
采纳率:75%
帮助的人:6879万
展开全部
你这样定义,使用的时候需要是LinkedStack<struct Positon> *path;
你想像你那样用,就
typedef struct Position
{
int row;
int col;
} Position;
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
秒懂百科
2021-04-12 · TA获得超过5.9万个赞
知道大有可为答主
回答量:25.3万
采纳率:88%
帮助的人:1.3亿
展开全部

struct:一种构造数据类型

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式