サーチ…


前書き

これは、CコードがC ++コンパイラで壊れることを記述します。

予約済みのキーワード

最初の例は、C ++で特別な目的を持っているキーワードです:次はCでは有効ですが、C ++では有効ではありません。

int class = 5

これらのエラーは簡単に修正できます。変数の名前を変更するだけです。

弱く型付けされたポインタ

Cでは、ポインタはC ++で明示的にキャストする必要があるvoid*キャストすることができます。以下はC ++では違法ですが、Cでは合法です:

void* ptr;
int* intptr = ptr;

明示的なキャストを追加するとこの作業が可能になりますが、それ以上の問題が生じる可能性があります

移動またはスイッチ

C ++では、 gotoswitch初期化をスキップすることはできません。以下は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