关于inline
的使用以及如何正确地执行此类操作(如此处(我目前用作参考)Inline Functions in C),有很多信息。< / p>
当我尝试实现页面中的特定内容时,我得到
的编译错误using INLINE = extern inline;
甚至只是
using INLINE = extern;
编译器在extern&#34;
之前说&#34;期望的类型说明符我想知道为什么我可以这样使用using
?
是因为using
真的只是为类型和替换而保留吗?
非常感谢你!我完全错过了通过C参考阅读的事实。这是一个好消息,因为它似乎没有一种非常好的方式来处理我正在阅读的内容,但它可能就像它在C ++中所做的那样过时了11现在。
答案 0 :(得分:4)
是因为使用实际上只是为类型和替换而保留吗?
我不知道换句是什么意思,但对类型的预留是肯定的。别名声明用于声明类型的新名称。一对说明符不构成类型。您甚至可以通过在表面上添加类型名称来使其工作,因为extern
和inline
说明符仅适用于对象和函数标识符,而不适用于它们的关联类型。
本文使用宏(#define
),因为令牌替换是创建用户定义的说明符的唯一方法。
值得注意的是,在C ++ inline
和extern inline
中是一回事。它仅在C(与C ++不同的语言,以及链接文章的主题)inline
并不意味着链接,要求您指定extern
。