小编Arn*_*old的帖子

c ++ C++模板中函数指针的错误C2064

如果我编译下面的代码,我会得到一个

"错误C2064:术语不评估为采用2个参数的函数"

doOpp()方法中.如果我改变q = f(p, i);q = add(p, i);一切编译罚款(含add()是在第二个参数doOpp()的方法).我尝试了几种解决方案但似乎没有任何解决方案.

template <class T = double>
class Points {
public: 
    Points(void);
    Points(Point3d<T> *, int);
    Points(T *, int);
    Points(Points &);
    ~Points(void);

    void clear();
    int size();
    void push_back(Point3d<T> &);
    typename vector<Point3d<T>>::iterator begin(void){return pnts.begin();};
    typename vector<Point3d<T>>::iterator end(void){return pnts.end();};

    void assign(Point3d<T> *, int);
    void assign(T *, int);
    void assign(Points &);

    Points valid(void);
    Points valid(int *);
    bool setValid(int, bool);
    int validSize();

// Pointer to operator function prototype …
Run Code Online (Sandbox Code Playgroud)

c++ function-pointers

4
推荐指数
1
解决办法
1724
查看次数

标签 统计

c++ ×1

function-pointers ×1