クラス "Foo"が定義されているヘッダファイル(ネイティブ、サードパーティ)を含むC++/CLIファイルをコンパイルしようとしています。さらに私はC#dllを "Bar.dll"を使って使用しています。ここでは名前空間 "Foo"が定義されています。コンパイラは、エラーC2872 "Foo is ambiguous symbol"を返します。C++/CLI - 名前空間とクラスのあいまいなシンボル
ネイティブクラス "Foo"がどのネームスペースで定義されているかはわかりませんが、ヘッダーファイル内のクラス定義は特定のネームスペースにネストされていません。だから私は、クラス "Foo"はネームスペースにないかもしれないと仮定します(これはC++で可能ですか?)。それ以外の場合は、コンパイラ固有の名前空間を持つクラス "Foo"を指定します。
"Bar.dll"で使用されている名前空間 "Foo"の名前を変更する可能性がありますが、名前空間を維持する別の解決策を探しています。実際にはクラスと名前空間は異なる要素ですが、C++/cliコンパイラではありません。私は変更するにはあまりにも高価である巨大な独自のコードベースと同様の問題に遭遇してきた事前 で
ThxをMichbeck
はい、このtypedefが機能します。挨拶 – Michbeckable