c 中的循环声明
typedef void (callback)(int *p1, sStruct *p2);
typedef struct _sStruct
{
callback *funct;
}sStruct;
我有以下 C 语言声明。如何编译此循环声明而不收到任何错误?
目前我收到:第一行'*'标记之前的语法错误。
typedef void (callback)(int *p1, sStruct *p2);
typedef struct _sStruct
{
callback *funct;
}sStruct;
I have the following declaration, in C. How can I compile this recurrent declaration without receiving any error ?
For the moment I receive: syntax error before '*' token on first line.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您可以前向声明结构:
编辑:更新以匹配问题类型名称的更改。
另外,我强烈建议您不要为该结构指定标识符
_sStruct
。以_
开头的全局名称是保留名称,将它们用作您自己的标识符可能会导致未定义的行为。You can forward-declare the structure:
Edit: Updated to match the question's change of type names.
Also, I strongly suggest that you do not give the struct the identifier
_sStruct
. Global names beginning with a_
are reserved names, and using them for your own identifiers could cause undefined behavior.