请教一个定义模板类对象的有关问题

请问一个定义模板类对象的问题
A   <   B <T>   >   p(100);

A,和B都是模板类,现在定义一个A类型的对象,如上所示。

问题是如果在B <T> 和外面一层的 <> 之间加上空格就没有问题。如果没有空格,即写成

A   <B <T> >   p(100);就会出现
missing   ', '   before   identifier   'p ';
missing   '> '   before   '; '
等等问题

请问各位大侠是怎么回事呀?

------解决方案--------------------
A <B <T> > p(100);
> > 是一个运算符号,它优先于> ,所以编译器认为你只有左边的 <没有右边的>
A < B <T> > p(100);
加了空格以后就不会存在这样的误解,可以正常编译了