【发布时间】: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