C ++解决遗留未命名空间冲突(C++ Resolving conflicts with legac

2019-10-29 04:41发布

我有一个庞大的身躯的遗留代码,声明了许多重要的类型。 例如:

typedef uint32 EventId;

我目前正在整合的第三方代码(Scaleform的),其中名称空间,优良的新版本,但有冲突的定义:

namespace Scaleform { namespace GFx {
class EventId ...
}}

还有就是遇到两个定义代码,我当然会出错:

错误:参照“EVENTID”不明确

注:名称查找发现候选“事件ID”

注:名称查找发现候选“的Scaleform的GFx :: :: EVENTID”

(OSX铛,顺便说一句)

至于我可以告诉大家,我是那种SOL的,因为C ++禁止这些各种各样的冲突,我不能够(例如)喜欢的东西包裹遗留引用:

using namespace;

要强制具名命名空间。

我唯一的办法就是重新命名的类型,所以没有冲突的,正确的呢?

文章来源: C++ Resolving conflicts with legacy unnamed namespaces
标签: c++ clang