由於標題已經聲明,我試圖聲明一個嵌套函數並返回一個指向該函數的指針。我希望這個函數'不'返回一個新的函數指針,它將返回任何原始函數的否定。返回函數指針指向嵌套函數C
以下是我有:
someType not(someType original) {
int isNot(ListEntry* entry) {
return !original(entry);
}
someType resultFunc = calloc(1024, 1);
memcpy(resultFunc, &isNot, 1024);
return resultFunc;
}
SOMETYPE被定義爲:
typedef int(*someType)(ListEntry* entry)
感謝您的鏈接,我最喜歡的引用是「如果你試圖在包含函數退出後通過它的地址調用嵌套函數,所有的地獄都會崩潰。」 – luke 2010-05-23 18:56:40