IP语言编译移植代码问题:调用模板化类中的静态模板化函数==失败

时间:2010-03-10 06:10:09

标签: c++ iphone templates

template<typename T> struct AClass
{
public:
     template<typename T0>
     static void AFunc()
     {}
};

template<typename T>
void ATestFunc()
{
     AClass<T>::AFunc<int>();
}

这适用于其他平台,但不适用于iPhone我在调用该函数的行上遇到错误“期望'int'之前的primary-expression”。

如果我要做的话,它可以正常工作

AClass<int>::AFunc<int>();

如果我们抛弃函数的模板参数,它也可以正常工作:

template<typename T> struct AClass
{
public:

     static void AFunc()
     {}
};

template<typename T>
void ATestFunc()
{
     AClass<T>::AFunc();
}

有关为什么它不适用于iPhone的任何想法?

1 个答案:

答案 0 :(得分:2)

尝试将行AClass<T>::AFunc<int>()更改为AClass<T>::template AFunc<int>();