我目前正在尝试将代码移植到使用模板别名的Visual Studio 2012,如下所示:
template< typename T > using SmartPtr = std::shared_ptr< T >;
但是,Visual Studio 2012不支持模板别名。
是否可以将上述声明替换为不会破坏使用它的代码的等效声明?
此致
答案 0 :(得分:2)
template< typename T >
struct SmartPtr
{
typedef std::shared_ptr< T > type;
};
将其用作:
SmartPtr<int>::type
答案 1 :(得分:0)
您可以尝试使用宏:
#define SmartPtr std::shared_ptr;
与VS2015上的模板别名相同