C ++编译器不喜欢"使用INLINE = extern inline"

时间:2018-06-04 05:36:47

标签: c++ c++11 inline

关于inline的使用以及如何正确地执行此类操作(如此处(我目前用作参考)Inline Functions in C),有很多信息。< / p>

当我尝试实现页面中的特定内容时,我得到

的编译错误
using INLINE = extern inline;

甚至只是

using INLINE = extern;

编译器在extern&#34;

之前说&#34;期望的类型说明符

我想知道为什么我可以这样使用using

是因为using真的只是为类型和替换而保留吗?

发布答案

非常感谢你!我完全错过了通过C参考阅读的事实。这是一个好消息,因为它似乎没有一种非常好的方式来处理我正在阅读的内容,但它可能就像它在C ++中所做的那样过时了11现在。

1 个答案:

答案 0 :(得分:4)

  

是因为使用实际上只是为类型和替换而保留吗?

我不知道换句是什么意思,但对类型的预留是肯定的。别名声明用于声明类型的新名称。一对说明符不构成类型。您甚至可以通过在表面上添加类型名称来使其工作,因为externinline说明符仅适用于对象和函数标识符,而不适用于它们的关联类型。

本文使用宏(#define),因为令牌替换是创建用户定义的说明符的唯一方法。

值得注意的是,在C ++ inlineextern inline中是一回事。它仅在C(与C ++不同的语言,以及链接文章的主题)inline并不意味着链接,要求您指定extern