【发布时间】:2012-11-06 21:59:20
【问题描述】:
我的项目包含一个堆栈,该堆栈具有许多用户定义的类型 (typedef)。问题是这些类型定义中的许多与我们内部的类型定义相冲突。也就是说,正在使用相同的符号名称。有什么办法可以防止这种情况发生吗?
问题的根源在于,要在我们的应用程序中使用堆栈,或包装代码,视情况而定,必须包含某个头文件。该堆栈头文件又包含堆栈提供程序的类型定义文件。那就是问题所在。他们应该通过非公共包含路径包含他们的类型定义文件,但他们没有。现在,对于非常常见的名称,如BYTE、WORD、DWORD 等,存在各种用户定义的类型冲突。
【问题讨论】:
-
你能在堆栈周围放一个包装器吗?
-
@WilliamMorris 这就是我想要做的,这就是为什么需要解决这些差异。
-
问题的根源是:为什么一开始就会出现命名冲突?堆栈没有使用任何适当的命名约定,还是应用程序,或两者兼而有之?与标准 C 库是否存在冲突(又名错误)?
标签: c eclipse typedef redefinition codewarrior