如果我编译下面的代码,我会得到一个
"错误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)