Visual Studio 2012中的模板别名

时间:2016-03-08 10:07:19

标签: c++ visual-studio visual-studio-2012

我目前正在尝试将代码移植到使用模板别名的Visual Studio 2012,如下所示:

template< typename T > using SmartPtr = std::shared_ptr< T >;

但是,Visual Studio 2012不支持模板别名。

是否可以将上述声明替换为不会破坏使用它的代码的等效声明?

此致

2 个答案:

答案 0 :(得分:2)

template< typename T >
struct SmartPtr
{
    typedef std::shared_ptr< T > type;
};

将其用作:

SmartPtr<int>::type

答案 1 :(得分:0)

您可以尝试使用宏:

#define SmartPtr std::shared_ptr;

与VS2015上的模板别名相同