为何编译器认不出来定义的class

为什么编译器认不出来定义的class我写了一个类Move,使用STL里面的stackstackMove Moves编译后出现error

为什么编译器认不出来定义的class
我写了一个类Move,使用STL里面的stack

stack<Move> Moves;

编译后出现error:尖括号里面的东西不是一个类型名

然后我typedef Move abc;

stack<abc> Moves;

没问题了,这到底是怎么回事啊?


[解决办法]
太神奇,帖代码吧!