返回值与函数返回类型不匹配

时间:2015-09-13 23:09:27

标签: c++

我使用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

1 个答案:

答案 0 :(得分:4)

dot_product(&distance, &distance) <= radiusSum * radiusSum;将导致c ++ bool类型。

Bool circles_collide(const Circle* a, const Circle* b)期望返回Bool

我不知道Bool是什么,但看起来编译器无法隐式地从bool制作一个。{/ p>