クラス「Foo」が定義されているヘッダー ファイル (ネイティブ、サードパーティ) を含む C++/CLI ファイルをコンパイルしようとしました。さらに、名前空間「Foo」が定義されている #using "Bar.dll" 経由で C# dll を使用しています。コンパイラは、エラー C2872「Foo はあいまいなシンボルです」を返します。
ヘッダーファイルのクラス定義が特定の名前空間にネストされていないため、ネイティブクラス「Foo」がどの名前空間で定義されているかわかりません。したがって、クラス「Foo」は名前空間にない可能性があると思います(C++では可能ですよね?)。それ以外の場合は、クラス「Foo」とその名前空間を指定して、コンパイラに固有のものにします。
「Bar.dll」で使用されている名前空間「Foo」の名前を変更する可能性がありますが、名前空間を維持する別のソリューションを探しています。実際、クラスと名前空間は異なる要素ですが、c++/cli コンパイラではそうではないと思いますか?
Thx 前もってミクベック