1
следующий код:Дважды шаблонный функция конкретизации терпит неудачу
template<typename T, MyEnum K> __global__ void myKernel(const T a[]);
template<typename T> __global__ void myKernel<T,SomeValueOfMyEnum>(const T a[]) {
// implementation
}
Триггеры следующее сообщение об ошибке:
error: an explicit template argument list is not allowed on this declaration
Почему?
Примечания:
- Я уверен, что это не CUDA связанных, только C++ вопрос.
- Есть куча вопросов по частичной специализации, но я не могу понять, является ли моя обманом любого из них.
Но, но ... (Глаза разорвав) [почему ?!] (http://www.freespirit.com/files/IMAGE/COVER/LARGE/ButWhyCantI.jpg) – einpoklum
я не знайте, может быть, в будущем они его определяют, пока мы этого не сделали. Возможно, это делает некоторые несоответствия в стандарте! Кто знает!?. – deepmax
Я только что прочитал [это] (http://stackoverflow.com/a/8061811/1593077), где он говорит, что я пытаюсь сделать, на самом деле не считается частичной специализацией. Или я неправильно понял? – einpoklum