将一个函数的函数指针赋值给一个static修饰的和函数名一样的全局变量。
答案:2 悬赏:30 手机版
解决时间 2021-02-18 01:20
- 提问者网友:城市野鹿
- 2021-02-17 12:34
将一个函数的函数指针赋值给一个static修饰的和函数名一样的全局变量。好像说是回掉,这是什么用法。求指教。
最佳答案
- 五星知识达人网友:时间的尘埃
- 2021-02-17 13:57
typedef void (*Function)(void);
static Function fun1;
void fun2(void);
fun1 = fun2;
fun1();
这是函数指针的用法,typedef定义了Function类型,Function相当于 void (*)(void)指针变量类型
void fun3(Function fun)
{
fun();
}
void fun4(void){};
void fun5(void){};
fun3(fun4);
fun3(fun5);
这就是回调
static Function fun1;
void fun2(void);
fun1 = fun2;
fun1();
这是函数指针的用法,typedef定义了Function类型,Function相当于 void (*)(void)指针变量类型
void fun3(Function fun)
{
fun();
}
void fun4(void){};
void fun5(void){};
fun3(fun4);
fun3(fun5);
这就是回调
全部回答
- 1楼网友:何以畏孤独
- 2021-02-17 14:51
string::string(char c[4])
{
cout<<"node constructor is running..."<<endl;
cdata=c;
prior=null;
next=null;
}
首先:参数是char[4]; "dfgh"已经溢出了。这个有5个字符包含结束符。
其次:你传进去只是简单的用指针指向这个数组的首地址。自身没有空间!
再次:
char string::readc() const { return *cdata; }
这个函数返回的是char类型。肯定就只有'd'了哟!!
char* string::readc() const { return *cdata; } 改成返回指针就可以了!
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯