次のことはできません。コンパイラは std::vector に一致する演算子がないと言っており、それをオーバーロードできるとは思いません。では、衝突結果を保存するために 1 つのベクトルのみを使用する以外に、私のオプションは何ですか。私は非常にキャッシュフレンドリーにしようとしています.trueに設定された後、同じboolをfalseにリセットしたくないため、or.
void CollisionDetection(const vector<Vector2D>& position1,
const vector<Vector2D>& position2,
dimension dim1, dimension dim2,
vector<bool>& result1, vector<bool>& result2)
{
assert(position1.size()==result1.size());
assert(position2.size()==result2.size());
for(int i=0;i<position1.size();i++)
{
for(int j=0;j<position2.size();j++)
{
result1[i] |= result2[i] |=
rectOverlap(position1[1], position2[i], dim1, dim2);
}
}
}