CvPoint2D32f *points[2];请问上面定义的是不是一个指针数组,包含两个元素?后面又有points[0] 和points[1]主要是,每一个,必如points[0] 是不是只有一个值呢?

解决方案 »

  1.   

    这个实验一下就能明白的,学学集成开发工具吧。相当于是一个指针的数组。points[0] 和 points[1] 分别是一个 CvPoint2D32f * 类型的元素。
      

  2.   

    表面意思我知道,关键是points[0]和 points[1],每一个里面是一个值还是多个值?
      

  3.   

    CObject * Array[2];
    Array[0] = new CObject;
    Array[1] = new CObject;
      

  4.   

    谢谢大家的回复。是一个值,或者地址的话,cvGoodFeaturesToTrack( grey, eig, temp, points[1], &count,
                                       quality, min_distance, 0, 3, 0, 0.04 );这个语句(是LKdemo。c里的) 里的 points[1],又该怎么解释呢? 因为寻找的特征点应该是喝多的啊!欢迎大家多提宝贵经验啊
      

  5.   

    谢谢大家的回复。是一个值,或者地址的话,cvGoodFeaturesToTrack( grey, eig, temp, points[1], &count,
      quality, min_distance, 0, 3, 0, 0.04 );这个语句(是LKdemo。c里的) 里的 points[1],又该怎么解释呢? 因为寻找的特征点应该是很多的啊!欢迎大家多提宝贵经验啊
      

  6.   

    里面存的是指针,指针可以分配多个CvPoint2D32f空间。
      

  7.   

    CvPoint2D32f *points[2];
    这句话只是声明了points[2]指针,不能进行赋值操作;
    为了说明其用法,请看一下语句:
    typedef struct
    {
    CvPoint2D32f points[2];
    }PTA;
    CvPoint2D32f *PTA;
    PTA=new CvPoint2D32f[4];
    则PTA其实包含了4*2共8个CvPoint2D32f数据,其实质是一个二维动态数组:
    points[4][2];
    写这种语句只能让生手读不懂,其实用起来很方便的,不须将points[2]再打包成结构体了