0
讓我有如下定義:錯誤:「模板」(作爲消歧)只內模板
typedef boost::multi_index_container<
ModelPtr,
boost::multi_index::indexed_by<
boost::multi_index::sequenced<boost::multi_index::tag<byInsertOrder> >, // to keep order of inserting
boost::multi_index::ordered_non_unique< boost::multi_index::tag<byPriority>,
boost::multi_index::const_mem_fun<IModel,
unsigned int,
&IModel::getPriority>,
std::greater< unsigned int> // from the highest priority to the lowest
>
>
> ModelContainer;
typedef ModelContainer::template index<AOActivationList::byInsertOrder>::type ModelByInsertOrderType; (*)
的問題是,當我嘗試用gcc 4.5.3編譯它,我得到以下錯誤: 錯誤:「模板」(作爲消歧器)僅在模板內允許使用 標有(*)的行。在Visual Studio 2008中編譯。
這是什麼原因?如何解決它?