|
|
1
3
C只有一个用于结构标记的命名空间,其中还包含联合和枚举的标记。不能在同一范围内使用具有相同标记的两种不同结构类型。有一个不同的命名空间包含
然而,实际上,结构名称只有在编译时才有意义。如果您使用的是第三方库的打包、预编译版本,那么您可能只需要担心头。你 能够使用预处理器更改程序翻译单元范围内的一个或两个标记。例如
如果不起作用,您还可以考虑手工执行等效编辑,以生成只供项目使用的头文件的本地版本。这将允许您更精确地了解更改的内容,但使用这些头仍然会遇到上述一致性问题。 如果您必须在同一个翻译单元中使用两个库,并且希望确保代码符合标准,那么您就不走运了。唯一的 另一种方法是修改和重建一个或两个库,使它们不再有名称冲突。 |