我目前正在試圖端口代碼到Visual Studio 2012,使得使用模板的別名,就像這樣:模板別名2012
template< typename T > using SmartPtr = std::shared_ptr<T>;
然而,的Visual Studio 2012不支持模板別名。
是否有可能將上面的聲明替換爲不會破壞使用它的代碼的等價物?
問候
我目前正在試圖端口代碼到Visual Studio 2012,使得使用模板的別名,就像這樣:模板別名2012
template< typename T > using SmartPtr = std::shared_ptr<T>;
然而,的Visual Studio 2012不支持模板別名。
是否有可能將上面的聲明替換爲不會破壞使用它的代碼的等價物?
問候
template< typename T >
struct SmartPtr
{
typedef std::shared_ptr<T> type;
};
使用它作爲:
SmartPtr<int>::type
但是這仍然意味着我必須用SmartPtr
@ user5024425是的,但是如果你不能使用你必須做的模板別名。 – Simple
嗯,如果我嘗試繼承,該怎麼辦:template
是否使用模板走樣在專業化?繼承可能是一種解決方法。 – Jarod42