サーチ…
前書き
これは、CコードがC ++コンパイラで壊れることを記述します。
予約済みのキーワード
最初の例は、C ++で特別な目的を持っているキーワードです:次はCでは有効ですが、C ++では有効ではありません。
int class = 5
これらのエラーは簡単に修正できます。変数の名前を変更するだけです。
弱く型付けされたポインタ
Cでは、ポインタはC ++で明示的にキャストする必要があるvoid*
キャストすることができます。以下はC ++では違法ですが、Cでは合法です:
void* ptr;
int* intptr = ptr;
明示的なキャストを追加するとこの作業が可能になりますが、それ以上の問題が生じる可能性があります
移動またはスイッチ
C ++では、 goto
やswitch
初期化をスキップすることはできません。以下はCでは有効ですが、C ++では有効ではありません。
goto foo;
int skipped = 1;
foo;
これらのバグは再設計が必要な場合があります。
Modified text is an extract of the original Stack Overflow Documentation
ライセンスを受けた CC BY-SA 3.0
所属していない Stack Overflow