我正在尝试创建一个函数,它接受一个字符,然后返回一个指向函数的指针,这取决于该字符是什么。我只是不确定如何让函数返回指向函数的指针。
发布于 2009-06-15 19:15:29
#include <iostream>
using namespace std;
int f1() {
return 1;
}
int f2() {
return 2;
}
typedef int (*fptr)();
fptr f( char c ) {
if ( c == '1' ) {
return f1;
}
else {
return f2;
}
}
int main() {
char c = '1';
fptr fp = f( c );
cout << fp() << endl;
}
发布于 2009-06-15 19:26:34
int f(char) {
return 0;
}
int (*return_f())(char) {
return f;
}
不,说真的,请使用typedef :)
发布于 2009-06-15 19:15:06
为函数签名创建一个typedef:
typedef void (* FuncSig)(int param);
然后将您的函数声明为返回FuncSig:
FuncSig GetFunction();
https://stackoverflow.com/questions/997821
复制相似问题