我正在对旧的 MFC 应用程序进行一些更改。头文件“stdafx.h”包括另一个头文件“mfcextensions.h”,它定义了一个类“CMemDC”。在另一个标题中,我需要包含“afxtoolbar.h”,以便可以使用“CMFCToolBar”类。问题是,“afxtoolbar.h”最终将包含“memdc.h”,它定义了一个“CmemDC”类。结果是可以理解地得到编译错误 2011。
现在我确实可以控制我们现有的定义“CMemDC”的代码,但这在很多地方都有使用,所以我不想做太多的改变。
克服这种情况的最佳策略是什么?我猜我可以以某种方式使用命名空间,或者另一种选择是重命名我们现有的类“CMemDC”,但这更多的是避免问题而不是解决问题。
干杯