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的任何想法?
答案 0 :(得分:2)
尝试将行AClass<T>::AFunc<int>()
更改为AClass<T>::template AFunc<int>();