代码之家  ›  专栏  ›  技术社区  ›  nacho4d

指向指针或引用的迭代器-错误

  •  0
  • nacho4d  · 技术社区  · 14 年前

    //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
    }
    

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

    任何帮助都将不胜感激

    谢谢

    2 回复  |  直到 14 年前
        1
  •  3
  •   Steve Jessop    14 年前

    *track 是指 const vector<Point> ,所以有两个问题:

    1) 你想把一个指针传给 barycenter_of_vector_in_range ,这不需要指针。

    const 向量重心在范围内

        2
  •  0
  •   flownt    14 年前

    您传递的是指向一个点向量的指针,而不是向量本身(编译器隐式地引用该向量)