【发布时间】:2011-04-20 07:07:45
【问题描述】:
我正在对旧的 MFC 应用程序进行一些更改。头文件“stdafx.h”包括另一个头文件“mfcextensions.h”,它定义了一个类“CMemDC”。在另一个标题中,我需要包含“afxtoolbar.h”,以便可以使用“CMFCToolBar”类。问题是,“afxtoolbar.h”最终将包含“memdc.h”,它定义了一个类“CmemDC”。结果是可以理解地得到 2011 的编译错误。
现在我确实可以控制我们现有的定义“CMemDC”的代码,但这在很多地方都有使用,所以我不想做太多改动。
克服这种情况的最佳策略是什么?我猜我可以以某种方式使用命名空间,或者另一种选择是重命名我们现有的类“CMemDC”,但这更多的是避免问题而不是解决问题。
干杯
【问题讨论】:
-
命名空间是名称冲突的解决方案(重命名除外)。
标签: visual-studio-2010 visual-c++ mfc mfc-feature-pack