[解決済み] CがC++のサブセットでないのはどこですか?[クローズド]
2022-08-16 03:02:01
質問
CはC++のサブセットであると多くの本で読みました。
CはC++のサブセットであると書かれている本もあります。 細かい点を除けば .
C言語ではコンパイルできるが、C++ではコンパイルできない場合、どのようなケースがありますか?
どのように解決するのですか?
もし
C89
と
C++
とすると、以下のようになります。
C++で仮の定義がない
int n;
int n; // ill-formed: n already defined
int[]とint[N]は互換性がありません(C++では互換性のある型はありません)。
int a[1];
int (*ap)[] = &a; // ill-formed: a does not have type int[]
K&R関数定義スタイルなし
int b(a) int a; { } // ill-formed: grammar error
C++ではネストした構造体はクラススコープを持ちます。
struct A { struct B { int a; } b; int c; };
struct B b; // ill-formed: b has incomplete type (*not* A::B)
デフォルトのint型はありません
auto a; // ill-formed: type-specifier missing
C99 は他の多くのケースを追加しています。
パラメータの配列次元における宣言指定子の特別な取り扱いはありません。
// ill-formed: invalid syntax
void f(int p[static 100]) { }
可変長配列は不可
// ill-formed: n is not a constant expression
int n = 1;
int an[n];
フレキシブル配列のメンバがない
// ill-formed: fam has incomplete type
struct A { int a; int fam[]; };
エイリアシング解析に役立つ制限付き修飾子がない
// ill-formed: two names for one parameter?
void copy(int *restrict src, int *restrict dst);
関連
-
[解決済み】C++でランダムな2倍数を生成する
-
[解決済み] クラスにデフォルトコンストラクタが存在しない。
-
[解決済み】オブジェクト引数のない非静的メンバ関数の呼び出し コンパイラーエラー
-
[解決済み] SQLiteのINSERT/per-secondのパフォーマンスを向上させる
-
[解決済み] 要素ごとの加算は、結合ループよりも分離ループの方がはるかに高速なのはなぜですか?
-
[解決済み] C言語では「?」演算子は何をするのですか?
-
[解決済み] C++11では、標準化されたメモリモデルが導入されました。その意味するところは?そして、C++プログラミングにどのような影響を与えるのでしょうか?
-
[解決済み] 仮想デストラクタはいつ使うのか?
-
[解決済み】画像処理。コカ・コーラ缶」認識のためのアルゴリズム改良
-
[解決済み】高放射能環境下で使用するアプリケーションのコンパイルについて
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】coutはstdのメンバではない
-
[解決済み】 != と =! の違いと例(C++の場合)
-
[解決済み】C++エラー:の初期化に一致するコンストラクタがありません。
-
[解決済み】「Expected '(' for function-style cast or type construction」エラーの意味とは?
-
[解決済み】「std::operator」で「operator<<」にマッチするものがない。
-
[解決済み】クラスのコンストラクタへの未定義参照、.cppファイルの修正も含む
-
[解決済み】Enterキーを押して続行する
-
[解決済み】警告 - 符号付き整数式と符号なし整数式の比較
-
[解決済み】Eclipse IDEでC++エラー「nullptrはこのスコープで宣言されていません」が発生する件
-
[解決済み] mallocの結果はキャストするのですか?