c++ - C ++ - 声明指向返回任何类型并获取任意数量参数的函数的指针
问题描述
我想知道是否可以编写类似于此声明的任何内容(使用参数包)。
decltype(auto) (*funcPtr)(...);
如果可能的话,我还想知道声明这样一个指针的替代方法。
解决方案
C++ 是一种静态类型语言。所有函数参数类型和返回类型必须在编译时已知。您不能声明返回任意类型的函数(好吧,我想您可以return std::any
,但我想不出您想要的情况)。
但是,您可以使用模板来创建函数模板,其中编译器将为您删除多个版本的函数,因此您不必自己编写它们。
请记住,auto
这decltype(auto)
不是魔术。如果它们不存在,它们只是您自己编写的语法糖。它们不启用该语言中尚不存在的任何新功能。它们只是使这些功能更易于使用。
推荐阅读
- ssl - 安装让我们在vesta cp中加密SSL
- json-ld - 如何在 JSON-LD 上下文中定义必需的属性
- c# - 如何使用 C# 和 WPF 自动更新列表?
- python-3.x - 在 numpy ndarray 的共轭上应用 numpy fft 时出现“TypeError:需要浮点数”错误
- roslyn - Roslyn - SyntaxFactory - 解析语句 - 添加回车/换行?
- javascript - 输入键和onclick一起
- angular - 角度变化输入值及显示
- laravel - Dusk 中的 URL 断言使用哪个函数?
- django - Django:按距离排序对象
- forms - Kentico 更新订单项目替代形式