インターフェイスはかなり制限されています。とリンクするには3つの方法があります:C++側の、C向けインターフェイスを作る機能を用いる。C++側の、COMインターフェイスを作る機能を用いる。制限付きでC++の関数およびクラスに直接アクセスするための機能を用いる。完全なC++コンパイラのフロントエンドをDに実装するというのと大差ありません。Dコンパイラを実装するのが事実上不可能になってしまいます。C++の関数の正しい呼び出し/復帰手続きについて、把握しています。リンケージを持つ関数はプログラム全体でグローバルなものとして扱われます。Dの文字列は0終端になっていません。文字列リテラルは0終端になっています。呼び出すことができません。クラスのレイアウトと互換性がありません。単一継承のクラス階層と非常によく似ています。合わせるようにしました。先頭には一つめの仮想関数へのポインタが格納されます)。メンバ関数にはアクセスできません。仮想関数で用意することでしかアクセスできません。関数オーバーロードの規則が異なっています。オーバーロード規則に従います。よって明示的にメモリを管理します。