Следующий код выдает ошибку компиляции: класс Q64 не является допустимым типом для параметра константы шаблона
template<int GRIDD, class T>
INLINE T grid_residue(T amount) {
T rem = amount%(GRIDD);
if (rem > GRIDD/2) rem -= GRIDD;
return rem;
}
template<int GRIDD, Q64>
INLINE Q64 grid_residue(Q64 amount) {
return Q64(grid_residue<GRIDD, int64_t>(to_int(amount)));
}
Что не так? Я пытаюсь специализировать grid_residue
для класса Q64
.
Изменен синтаксис. Теперь появляется ошибка ошибка: частичная специализация шаблона функции 'grid_residue
template<int GRIDD>
INLINE Q64 grid_residue(Q64 amount) {
return Q64(grid_residue<GRIDD, int>(to_int(amount)));
}
спасибо