現在、コンパイル時間を短縮するためにリファクタリングインクルードのプロセスを実行していますが、次のコンパイルエラーが発生しました。
[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コンパイルされますが、実装したCOMIDropTargetインターフェイスを使用する必要があります。問題は、VirtualtreesコンポーネントにIDropTargetインターフェイスの別の実装があり、それらが競合していることである可能性があると思います。
私が望まないことをどのように指定できるかについてのアイデアはありますVirtualtrees::IID_IDropTargetか?または、COMのIID_IDropTargetに使用する名前空間ですか?