template<typename T> struct AClass
{
public:
template<typename T0>
static void AFunc()
{}
};
template<typename T>
void ATestFunc()
{
AClass<T>::AFunc<int>();
}
这可以在其他平台上使用,但不能在iPhone上使用,我在调用该函数的行上收到错误消息“预期的'int'之前的主表达式”。
如果我要做的话它很好
AClass<int>::AFunc<int>();
如果我们也抛弃该函数的模板参数,它将很好地工作:
template<typename T> struct AClass
{
public:
static void AFunc()
{}
};
template<typename T>
void ATestFunc()
{
AClass<T>::AFunc();
}
关于为什么它不适用于iPhone的任何想法?
最佳答案
尝试将AClass<T>::AFunc<int>()
行更改为AClass<T>::template AFunc<int>();