类型别名出错

时间:2014-07-31 08:08:31

标签: c++ templates c++11

我想使用类型别名来创建一个带有一个参数的模板,来自带有两个参数的模板:

// forward declaration
template<int Id, typename MixtureManager> class MixtureBridge;

/**
 *  Specialization of the MixtureTraits for the Gaussian_sjk_ model
 **/
template<>
struct BridgeTraits<STK::Clust::Gaussian_sjk_>
{
   // ... some traits
};

template <typename MixtureManager>
using GaussianBridge_sjk_m = MixtureBridge<STK::Clust::Gaussian_sjk_, MixtureManager>;

我收到以下错误消息:

mixt_GaussianBridges.h:65:1: error: expected unqualified-id before 'using'

我的语法有什么问题?

注意:我正在使用Windows上的gcc 4.6.3

2 个答案:

答案 0 :(得分:3)

gcc 4.6:https://gcc.gnu.org/gcc-4.6/cxx0x_status.html

不支持模板别名

将编译器升级到更新版本。

答案 1 :(得分:1)

仅从gcc 4.7开始支持别名声明

https://gcc.gnu.org/gcc-4.7/changes.html