永发信息网

将一个函数的函数指针赋值给一个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);
这就是回调
全部回答
  • 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; }  改成返回指针就可以了!

我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯