Я делаю некоторые изменения в старом приложении MFC. Заголовок "stdafx.h" включает в себя другой заголовок "mfcextensions.h", который определяет класс "CMemDC". В другом заголовке мне нужно включить «afxtoolbar.h», чтобы я мог использовать класс «CMFCToolBar». Проблема в том, что «afxtoolbar.h» будет в конечном итоге включать «memdc.h», который определяет класс «CmemDC». В результате понятно, что получить ошибку компиляции 2011 года.
Теперь у меня есть контроль над нашим существующим кодом, который определяет «CMemDC», но он используется во многих местах, поэтому я бы не стал слишком сильно его менять.
Какова лучшая стратегия для преодоления этого? Я предполагаю, что я мог бы каким-то образом использовать пространства имен, или другой альтернативой является переименование нашего существующего класса «CMemDC», но это больше помогает избежать проблемы, чем решить ее навсегда.
Приветствия