s****n 发帖数: 41 | 1 想了很久这个class function pointer为什么不对,如果单纯引用类外函数这样引用可
以,可为什么同样的方法不能用于指向类中函数呢?
编译失败,显示
error C2059: syntax error : '::*'
我的代码如下:
#include
using namespace std;
class H
{
double a,b,c;
public:
H(double x,double y,double z);
double sum(double a, double b);
double operation(double a,double b,double(H::*pt)(double a, double b));
};
H::H(double x,double y,double z)
{
a=x;b=y;c=z;
}
double H::sum(double a, double b)
{ return a+b;
}
double H::operation(double a,double | z****e 发帖数: 2024 | 2 result=(H::*pt)(a,b); 去掉
改为:
result=(*this.*pt)(a,b);
or
result=(this->*pt)(a,b);
【在 s****n 的大作中提到】 : 想了很久这个class function pointer为什么不对,如果单纯引用类外函数这样引用可 : 以,可为什么同样的方法不能用于指向类中函数呢? : 编译失败,显示 : error C2059: syntax error : '::*' : 我的代码如下: : #include : using namespace std; : class H : { : double a,b,c;
|
|