我写了一个 kd-tree 模板,它的参数是一个自然数 K。
作为模板的一部分,我编写了以下函数来计算两点之间的距离(kd_point 是 std::array 的别名)
template <unsigned K>
float kd_tree<K>::DistanceSq(const kd_point &P, const kd_point &Q)
{
float Sum = 0;
for (unsigned i = 0; i < K; i++)
Sum += (P[i] - Q[i]) * (P[i] - Q[i]);
return Sum;
}
我打开了“启用 C++ 核心检查(发布)”,它给了我说的警告。是否有正确的方法来编写此例程以消除警告?