В настоящее время я прохожу процесс рефакторинга, включающий сокращение времени компиляции, и я столкнулся со следующей ошибкой компиляции:
[C++ Error] some_class.cpp(53): E2015 Ambiguity between 'IID_IDropTarget' and 'Virtualtrees::IID_IDropTarget'
Строка кода, на которую он указывает:
if (iid == IID_IUnknown || iid == IID_IDropTarget)
Если я использую Virtualtrees::IID_IDropTarget
, он прекрасно компилируется, однако мне нужно использовать интерфейс COM IDropTarget, который я реализовал. Я полагаю, что проблема может заключаться в том, что компонент Virtualtrees имеет другую реализацию интерфейса IDropTarget, и они конфликтуют.
Есть идеи, как я могу указать, что я не хочу Virtualtrees::IID_IDropTarget
? Или пространство имен, которое я использую для IID_IDropTarget COM?