类中函数指针调用函数
解决时间 2021-03-15 02:25
- 提问者网友:謫仙
- 2021-03-14 19:12
class A{
public:
A(int a,int b){num=a;num2=b;}
A(){
void (A::*t1)()=test;
t1();//这样编译通不过,ERROR:明显调用表达式前的括号必须具有(指针)函数类型
};
int num;
int num2;
void test(){cout<<"test"<};
void test1(int i){
cout<<"test1="<}
void main(){
auto t1=&test1;
t1(1);
}
这样t1直接调用没有任何问题
最佳答案
- 五星知识达人网友:孤老序
- 2021-03-14 19:19
你把head从函数里面拿出来,作为参数就可以了啊。
之前需要定义一个函数指针:typedef struct _Node (*Fun)(struct _Node *p);
然后定义show函数:
void show(Fun fun, struct _Node *head)
{
struct _Node *pTemp = NULL;
pTemp = fun(head);
}
这样就可以把head传进来了~
希望对你能有所帮助。
全部回答
- 1楼网友:酒醒三更
- 2021-03-14 20:52
pcb(string pname,double * pptr,int ptime,int prp,char pstatus)
第二个参数为指针类型,所以必须传递变量地址而不是常数,比如
double a = 2.3;
..
pcb p1("p1",&a,3,1,'r');//合法
还有这句
p1.ptr=p2;//没写错?类型不兼容不能直接赋值,应该是是p1.ptr = p2.ptr吧?
我要举报
大家都在看
推荐资讯