D は Cとのインターフェイス, は完璧ですが、C++ とのインターフェイスはかなり制限されています。 C++ とリンクするには3つの方法があります: C++側の、C向けインターフェイスを作る機能を用いる。 そして、D側からは Cとのインターフェイス でアクセス。 C++側の、COMインターフェイスを作る機能を用いる。 そして、D側からは COMインターフェイス を通じてアクセス。 以下で述べるような、 制限付きでC++の関数およびクラスに直接アクセスするための機能を用いる。 基本的な考え方 C++ との 100% の互換性を達成するということは、 完全なC++コンパイラのフロントエンドをDに実装するというのと大差ありません。 過去の経験からすると、 その実装は最低でも10人年規模のプロジェクトになってしまい、 Dコンパイラを実装するのが事実上不可能になってしまいます。 C++ とのリンク