2012-02-06 62 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