2012-02-06 66 views
1

正如标题所说,是有什么办法可以拉这样的事情了?:没有typedefs的模板类的C++模板,有可能吗?

std::set<boost::shared_ptr<MyClass>> variable; 

我知道这是对一些版本的标准,但它可以被避免?

+4

你到底想做什么?你的代码可以正常工作。 – Xeo 2012-02-06 05:57:14

回答

4

通常你应该把一个空间两个>字符之间:

std::set<boost::shared_ptr<MyClass> > variable; 

当然MyClass的,应你的代码上面之前已经声明。

最新的C++ 11标准删除了需要在>发生之间放置一个空格。

+0

关闭模板的'>>'问题已在C++ 11中解决。 – Xeo 2012-02-06 05:57:38

+0

是的,这就是我写“通常”的原因。 – 2012-02-06 05:58:57

+0

谢谢。更正! – 2012-02-06 06:01:19

0

旧标准>>被视为输入运算符我想,与其使用的位置无关。

+1

'>>'之间的空格实际上是一个右移操作符。由iostream重载。 (虽然这不是很重要)。 – 2012-02-06 08:58:20

+0

是的,它是正确的位右移 – 2012-02-07 04:39:50