0

我有这个:

//function definition
//Point and Range are classes made of 2 ints
Point barycenter_of_vector_in_range(vector<cv::Point> &points, cv::Range range);

//In other place...
vector<vector<Point> > tracks_; //it has some content 
for (vector< vector<Point> >::const_iterator track = tracks_.begin(); track != tracks_.end(); track++) {

    Point barycenter = barycenter_of_vector_in_range(&(*track), Range(0, track->size())); //Compile ERROR
}

我想知道为什么这不起作用?我得到“引用类型的初始化无效......”

任何帮助将不胜感激

谢谢

4

2 回答 2

3

*track是对 的引用const vector<Point>,所以你有两个问题:

1)您试图将指向该指针的指针传递给barycenter_of_vector_in_range不带指针的指针。

2) 它是const, 并barycenter_of_vector_in_range采用非常量引用。

于 2010-10-10T14:03:12.533 回答
0

您正在传递一个指向点向量的指针,而不是向量本身(编译器隐含地获取引用)

于 2010-10-10T14:03:52.063 回答