我在.c文件中有这个结构:
struct entry {
int position;
int length;
struct entry *node;
};
Run Code Online (Sandbox Code Playgroud)
现在,我如何将此结构布局的范围限制为主机文件,以便在另一个文件中使用相同名称的新结构布局时,我不会收到"重新定义"错误?
我尝试在struct之前使用static,但似乎没用(我也没有意义).顺便说一下,这个问题对我来说似乎没有用,因为我在链接文件中复制stuct条目时会遇到"重新定义"错误(使用MinGW).
您不会收到重新定义错误.类型是翻译单元的本地类型,并且没有任何可见性.只有函数和数据对象具有可见性.
如果您收到重新定义错误,则必须在标题或其他包含文件中使用该名称,以使其最终位于同一翻译单元中.