IPhone компиляция проблем портированного кода: вызов статической шаблонной функции, которая находится внутри шаблонного класса == ошибка - PullRequest
1 голос
/ 10 марта 2010
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?

1 Ответ

2 голосов
/ 10 марта 2010

попробуйте изменить строку AClass<T>::AFunc<int>() на AClass<T>::template AFunc<int>();

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...