c++ - 使用函数声明初始化函数指针 - 有可能吗?
问题描述
是否可以在 C++ 中使用函数声明来初始化函数指针?我的意思是,像这样:
void (*pointer)(void) = &( void function(void) );
或这个:
void (*pointer)(void) = void function(void);
解决方案
不,因为 C++ 中的任何变量(包括函数指针)都必须用表达式初始化,而函数声明不是表达式。
您可能想改用无捕获的 lambda 表达式:
void (*pointer)() = []{ std::cout << "hello world\n"; };
推荐阅读
- php - stdClass 对象 foreach PHP 循环
- sql - 从 SSMS 登录到 Azure 的问题
- c# - 如何获取 GridView.ShowHeaderWhenEmpty 属性以显示标题
- variables - xsl:document 的默认命名空间
- java - JavaFX 一张一张显示多个gif
- excel-formula - 我有每个项目的值列表,以及每个类别的单独项目列表。如何使用公式返回每个类别的总数?
- python - Cartopy(或者它是 Matplotlib?)错误地绘制从 0,0 开始的向上曲线中的点
- c++ - 如何在 C++ 中比较字符串数组
- reactjs - 如何使用 react-data-grid 测试功能组件
- r - “更新”R中用户定义函数中的一些参数