我使用dot_product函数在vs2013中遇到错误。
以下是dot_product
// This is in a header file.
Bool circles_collide(const Circle* a, const Circle* b)
{
const float radiusSum = a->radius + b->radius;
const Vector2D distance = subtract_vector(&(a->center), &(b->center));
return dot_product(&distance, &distance) <= radiusSum * radiusSum;
}
//This is the the implementation of dot_product in another header file.
float dot_product(const Vector2D* a, const Vector2D* b)
{
return a->x * b->x + a->y * b->y;
}
我也在使用const参数的其他函数中遇到相同的错误。有谁知道什么可能导致这个问题?
编辑::我截取了错误的屏幕截图,[link] http://puu.sh/kaoiy/3baebde6af.png
答案 0 :(得分:4)
dot_product(&distance, &distance) <= radiusSum * radiusSum;
将导致c ++ bool
类型。
Bool circles_collide(const Circle* a, const Circle* b)
期望返回Bool
。
我不知道Bool
是什么,但看起来编译器无法隐式地从bool
制作一个。{/ p>