gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-11-30 01:37:00 29 4
gpt4 key购买 nike

有很多关于 inline 的使用以及如何正确执行此操作以达到所需目的的信息,例如此处(我目前将其用作引用)Inline Functions in C .

当我尝试实现页面中指定的内容时,出现编译器错误

using INLINE = extern inline;

甚至只是

using INLINE = extern;

编译器说“在 extern 之前需要类型说明符”

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

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

发布答案

非常感谢!我完全错过了我正在阅读 C 引用资料这一事实。这是个好消息,因为从我读到的内容来看,似乎没有真正好的方法来处理事情,但可能就是这样,因为与他们现在在 C++11 中所做的相比,它已经过时了.

最佳答案

Is it because using is really just reserved for types and substitutions?

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

这篇文章使用了一个宏 (#define),因为标记替换是创建用户定义说明符的唯一方法,就像您想要的那样。

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

关于C++ 编译器不喜欢 "using INLINE = extern inline",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50673954/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com