如果直接這樣寫:
std::vector<boost::shared_ptr<int>> intvec;
gcc編譯器會把">>"當成operator,報錯:boost vector error: ‘>>’ should be ‘> >’ within a nested template argument list
正確做法是加上空格:
std::vector<boost::shared_ptr<int> > intvec;
不過VS2010測試下不加空格也可以的。