gpt4 book ai didi

c++ - 指向函数返回函数指针的指针

转载 作者:IT老高 更新时间:2023-10-28 22:07:41 24 4
gpt4 key购买 nike

我想声明一个类型为指向函数的指针,返回指向函数的指针。基本上是以下内容,但没有任何 typedefs:

typedef void (*func)();
typedef func (*funky_func)();

funky_func ptr;

我尝试了以下

(void (*)()) (*ptr)();

但它为 ptr 提供了一个“未声明的标识符”-错误(可能是由于完全不同的解析)。由于不精通解析 C++ 的复杂性,我想知道这是否可能,如果可以,该怎么做。

(出于好奇,请认为这是一个完全人为的场景,没有任何实际原因。我完全清楚,如果在全部。)

最佳答案

您可以查看 signal() 的声明,它是一个采用 void(*)() 并返回其中之一的函数。变量 ptr 可以这样声明:

void (*(*ptr)())()

符号有点笨拙,从里到外都很清楚。使用尾随返回类型可能更容易:

auto (*ptr)() -> void (*)()

...或者,当然,一直使用尾随返回类型:

auto (*ptr)() -> auto (*)() -> void

关于c++ - 指向函数返回函数指针的指针,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18826401/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com