我是一名有用的助手,可以为您翻译文本。
以下是需要翻译的内容:
据我所了解,当函数需要一个非
以下是需要翻译的内容:
可能是重复问题:
为什么将(指向非常量的指针的指针)转换为(指向常量的指针的指针)不合法
我有一个函数:
bool isCirclePolygonIntersection(const Point*, const int*, const Point*,
const Point**, const int*);
我试图这样调用它:
isCirclePolygonIntersection(p, &r, poly_coord, poly, &poly_size)
在这里,poly
的定义如下:
Point** poly = new Point*[poly_size];
当我尝试编译它时,出现了编译器错误:
error C2664: 'isCirclePolygonIntersection' : cannot convert parameter 4 from 'Point **' to 'const Point **'
1> Conversion loses qualifiers
据我所了解,当函数需要一个非
const
参数时,您不能给函数传递一个const
参数,但如果没有这种情况就可以。 有人知道问题是什么吗?谢谢。
const Point *const *
,它将会工作。(好吧,在 C++ 中它可以工作,但在 C 中不行。) - Nemo