Следующий код:
template<typename T, MyEnum K> __global__ void myKernel(const T a[]);
template<typename T> __global__ void myKernel<T,SomeValueOfMyEnum>(const T a[]) {
// implementation
}
Вызывает следующее сообщение об ошибке:
ошибка: явный список аргументов шаблона не разрешен в этом объявлении
Почему?
Примечания:
- Я почти уверен, что это не связано с CUDA, а просто с проблемой C++.
- Есть куча вопросов по частичной специализации, но я не могу понять, является ли мой обманом любого из них.