首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何让函数返回指向函数的指针?(C++)

如何让函数返回指向函数的指针?(C++)
EN

Stack Overflow用户
提问于 2009-06-15 19:09:48
回答 12查看 74.3K关注 0票数 68

我正在尝试创建一个函数,它接受一个字符,然后返回一个指向函数的指针,这取决于该字符是什么。我只是不确定如何让函数返回指向函数的指针。

EN

回答 12

Stack Overflow用户

回答已采纳

发布于 2009-06-15 19:15:29

代码语言:javascript
复制
#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;
}
票数 73
EN

Stack Overflow用户

发布于 2009-06-15 19:26:34

代码语言:javascript
复制
int f(char) {
    return 0;
}

int (*return_f())(char) {
    return f;
}

不,说真的,请使用typedef :)

票数 103
EN

Stack Overflow用户

发布于 2009-06-15 19:15:06

为函数签名创建一个typedef:

代码语言:javascript
复制
typedef void (* FuncSig)(int param);

然后将您的函数声明为返回FuncSig:

代码语言:javascript
复制
FuncSig GetFunction();
票数 20
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/997821

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档