我想调用一个函数,这个函数进行一些计算并返回另一个函数指针。如果没有创建ANSI C
函数类型,enum
是否可以这样做?如果是这样,我该如何宣布该功能?
答案 0 :(得分:0)
您可能想要返回指向另一个函数的指针。指针的语法类似于Collections.sort(myList);
A previous = null;
for (A elem: myList) {
if (elem.compareTo(previous) == 0) continue;
previous = elem;
[... process unique element ...]
}
,其中myFuncPtr是变量名。很可能你想创建一个typedef而不是一直打字。一个最小的例子:
SELECT DISTINCT CustomerName, Customer.CustomerSSN
FROM Customer, Transaction
WHERE Customer.CustomerSSN=Transaction.CustomerSSN
AND (NULLIF(YEAR(TransactionDate), 2000) IS NOT NULL)
您也可以像void (*myFuncPtr)(int)
而不是#include <stdio.h>
typedef int (*PUTS_PTR)(const char*);
PUTS_PTR ret_puts () {
return puts;
}
int main () {
PUTS_PTR pFunc = ret_puts();
(*pFunc)("Hello");
}
一样编写函数指针调用。但是在第二种语法中,您忘记初始化或检查指针的概率较小。