是否可以使用原型功能 typedef 在功能的定义中?
说,我有许多函数,比如
现在我想简化他们的定义和公告。 我当然可以使用这样的宏:
但我想保持它 C, 所以我试图使用存储说明符
为了这:
宣言似乎很好:
但不确定:
是什么让我下面的错误:
有没有办法做对或是不可能的?
在我的理解中 C 它应该工作,但不起作用。
注意 gcc 了解我想要做什么,因为如果我写的话
它告诉我
这意味着 gcc 它理解SPFUNC是函数的类型。
int func1/int a, int b/ {
// ...
}
int func2/int a, int b/ {
// ...
}
// ...
现在我想简化他们的定义和公告。 我当然可以使用这样的宏:
#define SP_FUNC/name/ int name/int a, int b/
但我想保持它 C, 所以我试图使用存储说明符
typedef
为了这:
typedef int SpFunc/int a, int b/;
宣言似乎很好:
SpFunc func1; // compiles
但不确定:
SpFunc func1 {
// ...
}
是什么让我下面的错误:
error: expected '=', ',', ';', 'asm' or '__attribute__' before '{' token
有没有办法做对或是不可能的?
在我的理解中 C 它应该工作,但不起作用。
注意 gcc 了解我想要做什么,因为如果我写的话
SpFunc func1 = { /* ... */ }
它告诉我
error: function 'func1' is initialized like a variable
这意味着 gcc 它理解SPFUNC是函数的类型。
没有找到相关结果
已邀请:
2 个回复
卫东
赞同来自:
在定义功能中声明的标识符 /这是函数的名称/, 它应该是
具有在拒绝函数的定义中指定的功能类型。
目标是,函数定义中的类型类别不能继承 typedef:
诸葛浮云
赞同来自:
确定
一种
, 不是标题 /这是源代码的文本/. 你必须使用
/虽然我不建议这样做/, 如果您需要分解标题的代码。
/[Edited] 原因 , 通过哪个工作,它没有定义原型 - 它确定定义的类型变量
, 这不是你想要的。/