【发布时间】:2016-08-04 12:31:57
【问题描述】:
(抱歉,这是一个无法使用 typedef 的示例测验:P)我正在尝试为以下函数编写声明:
一个函数:
接受一个指向函数的指针接受一个指向int的指针并返回一个指向int的指针。
返回一个指向函数的指针,接受 int 并返回 int。
这是我的代码:
int (* sigal(int *(*f)(int *)))(int);
但是,这是一个语法错误。正确的写法是什么?
已编辑:
错误似乎不应该是f。我尝试了我的原始代码和
int (* sigal(int *(*)(int *)))(int);
在http://www.cdecl.org/。后者通过了。
有什么问题的解释吗?
更新:
正如 2501 所说,错误似乎是一种解析器的味道。
【问题讨论】:
-
使用一系列 typedef。这澄清了很多事情。
-
将
typedef设为函数指针,然后将其用于函数定义。 -
这是一个典型的废话代码。
-
抱歉,这是一个不能使用 typedef 的示例测验 这个测验的目的是教人们如何不编写代码吗?跨度>
-
@AndrewHenle 我也不喜欢它。猜猜这只是为了测试学生对语法的理解程度:D。