gpt4 book ai didi

C++ 模板偏特化错误

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:08:50 26 4
gpt4 key购买 nike

下面的代码给我一个编译错误:class Q64 is not a valid type for a template constant parameter

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 .

更新:

更改语法。现在出现错误 error: function template partial specialization 'grid_residue<GRIDD, Q64>' is not allowed

template<int GRIDD>
INLINE Q64 grid_residue(Q64 amount) {
return Q64(grid_residue<GRIDD, int>(to_int(amount)));
}

谢谢

最佳答案

函数不能部分特化!要么使用函数重载:template <int GRIDD> inline Q64 grid_residue(Q64 amount)或将您的函数包装在一个类型中(可以部分特化)。

关于C++ 模板偏特化错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4603220/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com