【问题标题】:Exporting an inline struct in c++在 C++ 中导出内联结构
【发布时间】:2022-01-10 04:10:25
【问题描述】:

我正在使用 c++ 编程,但遇到了一个问题。我在头文件中有一个播放器的结构,并想在两个不同的文件中使用该结构。

 struct {
    float x;
    float y;

} player;

我尝试了很多东西,也做了很多研究,但总是导致错误或变量没有在所有文件中更新。不过我发现,你可以使用

inline struct EXPORT {
    float x;
    float y;

} player;

(c++17) 我在网上看了,我找不到任何人在谈论这个,我什至在 github 上搜索了“inline struct EXPORT”并且没有出现代码结果。我想知道我是否有发现。 我想知道这是否是一种已知的语法,以及使用这样的函数是否是个好主意。

【问题讨论】:

  • 这看起来像inline variable。结构恰好被命名为 EXPORT 的事实并不真正相关,并且可能解释了为什么该确切的搜索词没有为您产生任何结果。
  • 尝试将EXPORT 更改为其他内容,例如Player。它有什么改变吗?
  • 您的搜索有一个奇怪的地方是结合了“内联”和“结构”。由于inline 关键字在应用于类型定义时没有任何作用,因此搜索“inline struct”可能会找到类似Inline struct declaration 的内容,其中“inline”是描述性的,而不是关键字。如果您意识到标记inline 是变量而不是类型可能会有所帮助,因为搜索“内联变量”会出现How do inline variables work? 作为第二次点击。

标签: c++ struct reference export inline


【解决方案1】:

我想知道这是否是已知的语法

是的。变量和类定义的语法是已知的。在这种情况下,您定义了一个名为 player 的内联变量,它属于名为 EXPORT 的类类型。

这里不涉及“导出”。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2022-01-16
    • 1970-01-01
    • 1970-01-01
    • 2011-06-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多