C++编译器不喜欢"using INLINE = extern inline"
C++ compiler does not like "using INLINE = extern inline"
有很多关于使用inline
以及如何正确执行此操作以实现所需意图的信息,例如这里(我目前正在用作参考(C中的内联函数。
当我尝试实现页面中的特殊内容时,我收到编译器错误
using INLINE = extern inline;
甚至只是
using INLINE = extern;
编译器说"extern 之前的预期类型说明符">
我想知道的是为什么我可以这样使用using
?
是因为using
真的只是为类型和替换保留的吗?
后回答
非常感谢! 我完全错过了我正在阅读 C 参考的事实。 这是个好消息,因为从我正在阅读的内容来看,似乎没有一种非常好的方法来处理事情,但可能是这样,因为与他们现在在 C++11 中所做的相比,它已经过时了。
是因为
使用实际上只是为类型和替换保留的吗?
我不知道你所说的替换是什么意思,但是对类型的保留是的。别名声明用于声明类型的新名称。一对说明符不构成类型。您甚至无法通过在那里表面上添加类型名称来使其工作,因为extern
和inline
说明符仅适用于对象和函数标识符,而不适用于其关联的类型。
本文使用宏(#define
(,因为令牌替换是创建用户定义说明符的唯一方法,就像你想要的那样。
还值得注意的是,在C++inline
和extern inline
是一回事。只有在 C(与C++不同的语言,以及链接文章的主题(中,inline
并不意味着链接,要求您指定extern
。
相关文章:
- Visual Studio 2015:Extern "C" 和 "export" 关键字
- 为什么在全局范围内使用"extern int a"似乎不行?
- 激励'inline'说明符的真实世界示例?
- C++中的"inline"关键字
- 如何使用extern类
- 自动重复 extern "C"函数中的类构造函数采用的相同参数
- 如果全局变量默认是外部变量,为什么要添加"extern"关键字?
- 使用说明符 extern 声明的C++中的标识符链接
- 可视化编译与 C++ 中的 Extern 变量
- 是否可以在不使用 decltype 的情况下推断先前定义的 extern 变量的类型
- 如何使用默认值将枚举声明为 extern
- 如何与 Cheerp/js 中的 extern 变量接口?
- 如何将 Python 字符串传递给 C++ (extern C) 函数
- 从 exe 和 dll 访问静态库中的 extern 变量
- "extern"声明以及带有和不带参数列表的类模板实例的后续定义
- 既然我们有内联变量,extern const 还有用吗?
- C++编译器不喜欢"using INLINE = extern inline"
- C++17 'inline variable' vs 'extern' 关键字继承自 C 的新功能
- 什么是'extern inline'函数以及何时使用?
- extern 和inline 的用法