搜尋

首頁  >  問答  >  主體

c++ - static void (* __set_malloc_handler(void (*__f)()))()是什麼意思

static void (* __set_malloc_handler(void (*__f)()))()

void (*func)()這個我懂,但是上面這個__f是乾嘛的,上面的函數該怎麼呼叫?

曾经蜡笔没有小新曾经蜡笔没有小新2738 天前1011

全部回覆(1)我來回復

  • 巴扎黑

    巴扎黑2017-06-05 11:13:30

    拆開一層一層的分析
    最內部的__f是一個函數指針,其參數為void,回傳值為void。
    然後__set_malloc_handler比較容易迷惑,首先它是一個函數(一開始說錯了,不是指針),其參數為形如__f的函數指針,其返回值又是個指針,這個指針的類型是void (*)()
    用法應該是形如下面這樣:

    void (*foo)();
    void (*bar)();
    foo = __set_malloc_handler(bar);

    回覆
    0
  • 取消回覆