この拡張子はほとんどのコンパイラで問題ないようです。いくつかのコンパイラはそうではありません。適切な拡張子を持つ別のファイルとしてコピーして、そのファイルをコンパイルし、削除するものです。新しいシステムに移植するとき、次のようなことをする必要があります。ディレクティブを使うことを忘れないでください。}};タイトルですべてを語っています。インライン関数を合わせるのはよくはみえません。使わなければならないなら、可変個引数リストをもつメンバ関数はインラインでない関数にするよう注意してください。実際のところ、いくつかのものが許しているにすぎません。このため、この構文を用いないでください。繰り返しますが、ラッパー関数を使ってください。nsAutoPtr.たとえオブジェクトの構造・継承上意味を持たない場合であっても、必ずデフォルトのコンストラクタを持たせてください。コンパイラは、デフォルトのコンストラクタを持たない静的に初期化されたオブジェクトにクレームをつけるでしょう。クラスには注意するインナークラスを使用する場合は、アクセス制御に注意してください。インナークラスのアクセス制御について、大半のコンパイラは(意図してかどうかはともかく)2003年版のC++標準に従っています。この標準では、インナークラスは、取り囲むクラスのメンバーに対して特別なアクセス権を持っています。一部のコンパイラは1998年版のC++標準に従っています。この標準では、インナークラスは、取り囲むクラスのメンバーに対して特別なアクセス権を持っていません。構文の周辺では、変数の配置には気をつけてください。いくつかのコンパイラ(HP-UX)は実行するためにコンストラクタや初期化子を必要とするどの変数もメソッドの最初に置くことを要求します。文の内部で宣言され、デフォルトのコンストラクタを実行する必要があるため、これはコンパイルできないコードです。ファイルの両方からインクルードされた時に正しく動くように作る必要があります。サポートするよう修正する必要があります。入れるだけではだめです。"oldCheader.h"...このようにするのには、見栄え上よいという以上にいくつかの理由があります。ファイルの代わりに一つの共用空間(ヘッダファイル)で仕事をすることで、他の人にとって快適にするのです。呼び出されていますよ」と文書化したことになります。修正がやっかいな大きな移植上の大きな悪夢を防ぐことができるのです。コードでなくてはなりません。わたしたちは、ヴェンダがそのようにするという知恵に疑問を持っていますが、私たちに出来ることはありません。システムヘッダファイルを変更することは、できれば望みたくない方法です。