c - 是否可以在另一个函数的定义中提供函数名称作为初始值设定项?

标签 c

我们可以在另一个对象的定义中提供一个对象作为初始化器。它只是将一个对象的值复制并分配给另一个对象。

是否可以在另一个函数的定义中提供函数名称作为初始值设定项?

C标准哪里说允许或不允许?我没有找到它,所以我认为这是可能的。

以下两个示例将导致语法错误:

#include <stdio.h>

int f(){};

int main()
{
    int (g=f)();
    int h() = f;
}

谢谢。

最佳答案

您可能需要一个函数指针(因为函数在这种情况下并没有真正意义):

int (*h)() = f;

关于c - 是否可以在另一个函数的定义中提供函数名称作为初始值设定项?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45662701/

相关文章:

在 C 中计算互补误差函数 erfcinv() 的反函数

c - 如何使用 C 绘制 RGB HBITMAP 并将其显示在静态窗口中?

c - 使用 GCC 编译后 Uint16 的大小为 32 位

c - C 中的 BFS 实现不会终止

c++ - 为什么我的 "Hello world"程序需要将近 10 秒?

c - 数组问题C的动态分配

c - (C) 结构体数组并将数据移至其中

c - 给定一个定义符号 foo 的完全链接的 a.out,我如何在不重新链接 a.out 的情况下判断该定义来自哪个目标文件?

结构中元素的 C 顺序

c - MsVc++奇怪的错误: not declared variable